time="2024-06-07T12:08:23Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-gateway-1 Creating Container integration-test-experiment-1 Creating Container integration-test-device-1 Creating Container integration-test-federation-1 Creating Container integration-test-authentication-1 Creating Container integration-test-authorization-1 Creating Container integration-test-federation-1 Created Container integration-test-gateway-1 Created Container integration-test-device-1 Created Container integration-test-experiment-1 Created Container integration-test-authentication-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-06-07T12:12:02Z"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"client_addr":"127.0.0.1:43342","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-06-07T12:12:03Z"} authorization-1 | {"client_addr":"127.0.0.1:43342","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.30843,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:03Z"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.65.0/opa_linux_amd64","latest_version":"0.65.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.65.0","subsystem":"opa","time":"2024-06-07T12:12:04Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1717762324.1891408} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1717762324.1912186} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1717762324.1984031} 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":1717762324.1992805} 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":1717762324.2050407} 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":1717762324.2065866,"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":1717762324.2135882} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1717762324.2651694} device-1 | {"level":"info","message":"Device Service started successfully"} 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:57944","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-06-07T12:12:04.318411681Z","id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","name":"crosslab","updated_at":"2024-06-07T12:12:04.318411681Z"},"request_id":"5f8d296d-9031-4e03-8832-dff765dc4ffb","subsystem":"openfga","timestamp":1717762324.318517} 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:57944","raw_request":{"schema_version":"1.1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HZS9SY16P9339H5970DM6145"},"request_id":"497addaf-1cfa-43cd-9561-65e7ca7b7c02","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762324.5180948} authorization-1 | {"client_addr":"127.0.0.1:43342","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-06-07T12:12:04Z"} authorization-1 | {"client_addr":"127.0.0.1:43342","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.276256,"resp_status":204,"subsystem":"opa","time":"2024-06-07T12:12:04Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} gateway-1 | {"time_local":"07/Jun/2024:12:12:06 +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.055","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"bef058aaf85806b8281bd299a96bb9eb"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 46ms","method":"HEAD","requestID":"bef058aaf85806b8281bd299a96bb9eb","responseTime":46,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"07/Jun/2024:12:12:06 +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.058","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"0a55d426a4f9d5f1c54abff2175b9ab4"} device-1 | {"level":"info","message":"HEAD /device/status 200 45ms","method":"HEAD","requestID":"285cffd0-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/device/status"} 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":"d745446d9c20f0f1721a6ce2f6e0d244"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:12:06 +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.051","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d745446d9c20f0f1721a6ce2f6e0d244"} gateway-1 | {"time_local":"07/Jun/2024:12:12:06 +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.049","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"0db9441187cda89d569dbc397d4e3d6c"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 43ms","method":"HEAD","requestID":"2877dad0-24c7-11ef-b761-9341d6191cd9","responseTime":43,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"07/Jun/2024:12:12:06 +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.051","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b812ab75e3b144871070cb1bb6009d55"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 46ms","method":"HEAD","requestID":"288129a0-24c7-11ef-b0ff-bfc10ea2ee5a","responseTime":46,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"07/Jun/2024:12:12:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.317","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4235ada4319995543e7a9d7b05eeaad8"} authentication-1 | {"level":"info","message":"POST /login 201 301ms","method":"POST","requestID":"4235ada4319995543e7a9d7b05eeaad8","responseTime":301,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM0N30.7M3KlmsdxZS_nxwaZ__7VrguiOqwlv2nOaEFW7gXFfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 52ms","method":"GET","requestID":"40c09fe0012d504d985045cb7fde4134","responseTime":52,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:47774","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:27Z"} authorization-1 | {"client_addr":"127.0.0.1:47774","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.560029,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762347,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM0N30.7M3KlmsdxZS_nxwaZ__7VrguiOqwlv2nOaEFW7gXFfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 48ms","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":"40c09fe0012d504d985045cb7fde4134"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":48}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"54c0f695-a23d-4f3e-91f6-fbdf525d3636","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762347.5681481} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c09fe0012d504d985045cb7fde4134"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"224b710d-7d2c-44db-b868-bec144c55c1d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762347.62285} 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":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c09fe0012d504d985045cb7fde4134"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"0c5d67b3-4e44-468b-976e-2ae78f6de228","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762347.7581046} 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":"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":"40c09fe0012d504d985045cb7fde4134"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":142}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd1c3abe-eed3-4222-b21c-b48426d7df09","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762347.7637813} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:27.758079711Z"}]},"request_id":"1a24ff8a-b123-4035-87ef-9917dca14b07","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762347.7754445} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c09fe0012d504d985045cb7fde4134"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:12:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.855","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40c09fe0012d504d985045cb7fde4134"} device-1 | {"level":"info","message":"POST /devices? 201 774ms","method":"POST","requestID":"40c09fe0012d504d985045cb7fde4134","responseTime":774,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM0N30.7M3KlmsdxZS_nxwaZ__7VrguiOqwlv2nOaEFW7gXFfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 41ms","method":"GET","requestID":"d47386f11de17f132814ebf4813205c6","responseTime":41,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:47774","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:27Z"} authorization-1 | {"client_addr":"127.0.0.1:47774","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.928933,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762347,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM0N30.7M3KlmsdxZS_nxwaZ__7VrguiOqwlv2nOaEFW7gXFfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d47386f11de17f132814ebf4813205c6"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c5b8f6a3-fbe0-4852-97b2-c17ea93f37b8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762348.0444088} 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":"d47386f11de17f132814ebf4813205c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b10fed6e-c692-4a18-bb44-de8fe9f99abd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762348.058065} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d47386f11de17f132814ebf4813205c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"c74cb3bd-602f-4a4f-ab79-76ddc64b3602","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762348.1025896} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d78e1bdd-deef-41a5-8bb2-aa1dbe0bc3b0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762348.1031704} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","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":"d47386f11de17f132814ebf4813205c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:28.102574861Z"}]},"request_id":"1f59da61-bf85-41ed-94e7-61afe0b0da06","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762348.1511984} 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":"d47386f11de17f132814ebf4813205c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:12:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.289","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d47386f11de17f132814ebf4813205c6"} device-1 | {"level":"info","message":"POST /devices? 201 244ms","method":"POST","requestID":"d47386f11de17f132814ebf4813205c6","responseTime":244,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1cae0f5513ff9abb6472f23713d90238","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:12:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1cae0f5513ff9abb6472f23713d90238"} device-1 | {"level":"info","message":"OPTIONS /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/websocket 200 2ms","method":"OPTIONS","requestID":"1cae0f5513ff9abb6472f23713d90238","responseTime":2,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1Mn0.dfYTXYeUHKZE0Wqm-Nl9h7DwdNSg6Cn8iXnMgG9uk-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"da5906228ec0b3a53eb9bd62b70366e1","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"52c06ce9fa4df34e89a19cf2f1fb5f3c","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762352,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1Mn0.dfYTXYeUHKZE0Wqm-Nl9h7DwdNSg6Cn8iXnMgG9uk-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da5906228ec0b3a53eb9bd62b70366e1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:32Z"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.027001,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:32Z"} gateway-1 | {"time_local":"07/Jun/2024:12:12:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"52c06ce9fa4df34e89a19cf2f1fb5f3c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1Mn0.dfYTXYeUHKZE0Wqm-Nl9h7DwdNSg6Cn8iXnMgG9uk-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b13e8f3b77e688895454444cddd70c6d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/websocket 200 11ms","method":"OPTIONS","requestID":"52c06ce9fa4df34e89a19cf2f1fb5f3c","responseTime":11,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:32Z"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044769,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762352,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1Mn0.dfYTXYeUHKZE0Wqm-Nl9h7DwdNSg6Cn8iXnMgG9uk-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b13e8f3b77e688895454444cddd70c6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":39}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:12:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.226","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"da5906228ec0b3a53eb9bd62b70366e1"} device-1 | {"level":"info","message":"POST /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/websocket 200 214ms","method":"POST","requestID":"da5906228ec0b3a53eb9bd62b70366e1","responseTime":214,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:12:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.206","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b13e8f3b77e688895454444cddd70c6d"} device-1 | {"level":"info","message":"POST /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/websocket 200 193ms","method":"POST","requestID":"b13e8f3b77e688895454444cddd70c6d","responseTime":193,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"e7d6ac6f6c7cccec193f124a81e300b5","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.245623,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762353,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88"} 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":"e7d6ac6f6c7cccec193f124a81e300b5"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:27.758079711Z"}]},"request_id":"d8857df9-3c21-47aa-8974-59dc7e4e0db5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762353.0803666} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7d6ac6f6c7cccec193f124a81e300b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:12:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7d6ac6f6c7cccec193f124a81e300b5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"GET /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291? 200 103ms","method":"GET","requestID":"e7d6ac6f6c7cccec193f124a81e300b5","responseTime":103,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"4eafc5d93c1a56c5611b6f0af99e914f","responseTime":33,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947512,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762353,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88"} 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":"4eafc5d93c1a56c5611b6f0af99e914f"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:28.102574861Z"}]},"request_id":"de06acf5-234a-46a1-baa5-46f2f87ec2c6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762353.2124825} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4eafc5d93c1a56c5611b6f0af99e914f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:12:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4eafc5d93c1a56c5611b6f0af99e914f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"GET /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f? 200 100ms","method":"GET","requestID":"4eafc5d93c1a56c5611b6f0af99e914f","responseTime":100,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f?"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"13b8d6f5534fd3a02411444eb6172bb8","responseTime":30,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.949457,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762353,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13b8d6f5534fd3a02411444eb6172bb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955629,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:33Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762353,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88"} 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":"38a0aa40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38520","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94981,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762353,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88"} 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":"38a209d0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:28.102574861Z"}]},"request_id":"0ff2c7a4-bd09-4d46-9773-22a3bb0430d2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762353.9544828} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38a209d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:27.758079711Z"}]},"request_id":"5d4b012f-431d-4777-a6f4-aaaaffc724db","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762353.9561539} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38a0aa40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f? 200 103ms","method":"GET","requestID":"38a209d0-24c7-11ef-b353-d1d4e8136596","responseTime":103,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291? 200 115ms","method":"GET","requestID":"38a0aa40-24c7-11ef-b353-d1d4e8136596","responseTime":115,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762353,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b7cc820-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.054953,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38548","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38548","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.296076,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762353,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88"} 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":"3b7d3d50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.772813,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd236564-1e54-474d-9e22-8f673e7dd458","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762358.7928278} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b829480-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:27.758079711Z"}]},"request_id":"017455b3-e902-4ef9-9b26-cba1e2317072","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762358.8005373} authorization-1 | {"level":"info","message":"POST /relations/query 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b7cc820-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:28.102574861Z"}]},"request_id":"566cd067-674f-4cb8-9737-9b6f439cc133","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762358.848422} authorization-1 | {"level":"info","message":"POST /relations/query 200 51ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b7d3d50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":51}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling 200 125ms","method":"POST","requestID":"3b829480-24c7-11ef-b353-d1d4e8136596","responseTime":125,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291? 200 200ms","method":"GET","requestID":"3b7cc820-24c7-11ef-b353-d1d4e8136596","responseTime":200,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f? 200 203ms","method":"GET","requestID":"3b7d3d50-24c7-11ef-b353-d1d4e8136596","responseTime":203,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f?"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32090d20-3991-43ba-898e-4c70af6bd6ad","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762358.8967664} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38548","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":39.208484,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling 200 61ms","method":"POST","requestID":"3b9a8950-24c7-11ef-b353-d1d4e8136596","responseTime":61,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 54ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b9a8950-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":54}} authorization-1 | {"client_addr":"127.0.0.1:38548","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":9.663754,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9eef1484-8b9f-4d47-b3c2-1a40402a85c4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762358.9407992} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling 200 57ms","method":"POST","requestID":"3b9d2160-24c7-11ef-b353-d1d4e8136596","responseTime":57,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b9d2160-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.323538,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:38Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3eb44e91-b3aa-4f3d-b8f3-d51da91bb414","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762358.9938033} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ba9a480-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Building connection plan"} device-1 | {"level":"info","message":"POST /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling 200 58ms","method":"POST","requestID":"3ba9a480-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"5c38b707-cd07-4ef3-8494-2969264df8a4"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"0df18bbb-f427-4652-93a7-8da50cf5d3eb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f3e0db52-758f-4147-9002-64f087bcbd8b"}]},"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/fe8bd6f3-6d82-450a-9015-dc0d94921291"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:39Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.00092,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762353,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM1M30.XoRGbVWwFMP6WEm092Bw2vltpvQR4kIn7SBxveMRK88"} 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":"3bb34170-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffc23ae3a-8634-455e-b837-60dd63d1d943#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffc23ae3a-8634-455e-b837-60dd63d1d943","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"b274cc5a-d332-45ec-a8e2-02a15de5c176","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762360.1965837} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"884884bf-2eb9-4256-94aa-85325c340b81","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762360.1973414} authorization-1 | {"level":"info","message":"POST /relations/update 200 1399ms","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":"13b8d6f5534fd3a02411444eb6172bb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":1399}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"07/Jun/2024:12:12:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"7.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13b8d6f5534fd3a02411444eb6172bb8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2MH0.bfMcWo9lRNOCIemisJqItjyZPtkSwX9ISew4cVgC-m8","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:40Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91445,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:40Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 7008ms","method":"POST","requestID":"13b8d6f5534fd3a02411444eb6172bb8","responseTime":7008,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:12:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45288045e6ad1e3d2bf1f017b459428b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"45288045e6ad1e3d2bf1f017b459428b","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2MH0.bfMcWo9lRNOCIemisJqItjyZPtkSwX9ISew4cVgC-m8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"966d42d448feed13b15cc6d89f609c54","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291? 200 62ms","method":"GET","requestID":"45288045e6ad1e3d2bf1f017b459428b","responseTime":62,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f? 200 51ms","method":"GET","requestID":"966d42d448feed13b15cc6d89f609c54","responseTime":51,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762360,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2MH0.bfMcWo9lRNOCIemisJqItjyZPtkSwX9ISew4cVgC-m8"} 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":"45288045e6ad1e3d2bf1f017b459428b"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:27.758079711Z"}]},"request_id":"b82945d6-33dc-44f3-ac0f-161925787347","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762360.3071036} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45288045e6ad1e3d2bf1f017b459428b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":36}} gateway-1 | {"time_local":"07/Jun/2024:12:12:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"966d42d448feed13b15cc6d89f609c54"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877782,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762360,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2MH0.bfMcWo9lRNOCIemisJqItjyZPtkSwX9ISew4cVgC-m8"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"966d42d448feed13b15cc6d89f609c54"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:28.102574861Z"}]},"request_id":"1e1c146b-f365-441c-a59f-f9a4ef7e3847","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762360.3986976} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"966d42d448feed13b15cc6d89f609c54"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"f46fa58e-f227-48ad-b2d8-623d7368d081","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762363.093287} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b177656-c966-4566-9062-39aef95bf6bf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762363.0948977} authorization-1 | {"level":"info","message":"POST /relations/update 200 4008ms","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":"3bb34170-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4008}} 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/d32e903c-749d-4b31-ae60-79c99e2aa6a7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7'"} 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 5501ms","method":"POST","requestID":"3bb34170-24c7-11ef-b353-d1d4e8136596","responseTime":5501,"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/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.024843,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:44Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b56e055-300e-4f3d-99eb-9a2b72c8d894","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762364.7196925} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f138370-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling 200 58ms","method":"POST","requestID":"3f138370-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.322937,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:44Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9818747c-1990-4a9f-a20e-b4c4d4c1048a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762364.8122184} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f1d9590-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling 200 85ms","method":"POST","requestID":"3f1d9590-24c7-11ef-b353-d1d4e8136596","responseTime":85,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d32e903c-749d-4b31-ae60-79c99e2aa6a7","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"48c06a85a6a16f31f9e44fd55c617347","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 21ms","method":"POST","requestID":"48c06a85a6a16f31f9e44fd55c617347","responseTime":21,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:12:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"48c06a85a6a16f31f9e44fd55c617347"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2NX0.RgK2U-5S5bgtWUqJquD2mi8ld3HoybjkqpNiYq4Szq4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 44ms","method":"GET","requestID":"82ca9c291709d05e9f03e4a5ffa60bf7","responseTime":44,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:45Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":3.529869,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762365,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2NX0.RgK2U-5S5bgtWUqJquD2mi8ld3HoybjkqpNiYq4Szq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","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":"82ca9c291709d05e9f03e4a5ffa60bf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} gateway-1 | {"time_local":"07/Jun/2024:12:12:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82ca9c291709d05e9f03e4a5ffa60bf7"} experiment-1 | {"level":"info","message":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 200 66ms","method":"GET","requestID":"82ca9c291709d05e9f03e4a5ffa60bf7","responseTime":66,"status":200,"url":"/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2NX0.RgK2U-5S5bgtWUqJquD2mi8ld3HoybjkqpNiYq4Szq4","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"faefdea540be2600a5729ef6d380b5ff","responseTime":34,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:45Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.952553,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762365,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2NX0.RgK2U-5S5bgtWUqJquD2mi8ld3HoybjkqpNiYq4Szq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","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":"faefdea540be2600a5729ef6d380b5ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":47}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} gateway-1 | {"time_local":"07/Jun/2024:12:12:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"faefdea540be2600a5729ef6d380b5ff"} experiment-1 | {"level":"info","message":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 200 65ms","method":"GET","requestID":"faefdea540be2600a5729ef6d380b5ff","responseTime":65,"status":200,"url":"/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2NX0.RgK2U-5S5bgtWUqJquD2mi8ld3HoybjkqpNiYq4Szq4","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"d8231ddb50b7bd334eba2c9cc860ad20","responseTime":9,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:45Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.880937,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762365,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2NX0.RgK2U-5S5bgtWUqJquD2mi8ld3HoybjkqpNiYq4Szq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","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":"d8231ddb50b7bd334eba2c9cc860ad20"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"data":{"peerconnection":"d32e903c-749d-4b31-ae60-79c99e2aa6a7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} gateway-1 | {"time_local":"07/Jun/2024:12:12:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8231ddb50b7bd334eba2c9cc860ad20"} experiment-1 | {"level":"info","message":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 200 82ms","method":"GET","requestID":"d8231ddb50b7bd334eba2c9cc860ad20","responseTime":82,"status":200,"url":"/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} device-1 | {"data":{"peerconnection":"d32e903c-749d-4b31-ae60-79c99e2aa6a7","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d32e903c-749d-4b31-ae60-79c99e2aa6a7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"867b890504889cd24631688233d61941","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/fe8bd6f3-6d82-450a-9015-dc0d94921291"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2NX0.RgK2U-5S5bgtWUqJquD2mi8ld3HoybjkqpNiYq4Szq4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"6e19bc02eece1b977b884d2fc9aba69e","responseTime":10,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:45Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.07885,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762365,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2NX0.RgK2U-5S5bgtWUqJquD2mi8ld3HoybjkqpNiYq4Szq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","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":"6e19bc02eece1b977b884d2fc9aba69e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd32e903c-749d-4b31-ae60-79c99e2aa6a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fceaf82f-95b7-48ac-ab12-938378e3729d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762366.0211267} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":8.357891,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} gateway-1 | {"time_local":"07/Jun/2024:12:12:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6e19bc02eece1b977b884d2fc9aba69e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","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":"3fd2b4c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"level":"info","message":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 200 58ms","method":"GET","requestID":"6e19bc02eece1b977b884d2fc9aba69e","responseTime":58,"status":200,"url":"/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2Nn0.Lp3KDYtwT2s87cd7uZokIDfknjaoa5qxry6ApPuhbYg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"297fc97448210bd11ab1a8eeb176a9c9","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.057694,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762366,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2Nn0.Lp3KDYtwT2s87cd7uZokIDfknjaoa5qxry6ApPuhbYg"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"297fc97448210bd11ab1a8eeb176a9c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} gateway-1 | {"time_local":"07/Jun/2024:12:12:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"297fc97448210bd11ab1a8eeb176a9c9"} experiment-1 | {"level":"info","message":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 200 21ms","method":"GET","requestID":"297fc97448210bd11ab1a8eeb176a9c9","responseTime":21,"status":200,"url":"/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2Nn0.Lp3KDYtwT2s87cd7uZokIDfknjaoa5qxry6ApPuhbYg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"425dd7afaf58b1f8439e9e8f92ff72c7","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.960021,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762366,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2Nn0.Lp3KDYtwT2s87cd7uZokIDfknjaoa5qxry6ApPuhbYg"} 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":"425dd7afaf58b1f8439e9e8f92ff72c7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7 200 364ms","method":"GET","requestID":"3fd2b4c0-24c7-11ef-b353-d1d4e8136596","responseTime":364,"status":200,"url":"/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} gateway-1 | {"time_local":"07/Jun/2024:12:12:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"425dd7afaf58b1f8439e9e8f92ff72c7"} experiment-1 | {"level":"info","message":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 200 42ms","method":"GET","requestID":"425dd7afaf58b1f8439e9e8f92ff72c7","responseTime":42,"status":200,"url":"/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 496ms","method":"POST","requestID":"867b890504889cd24631688233d61941","responseTime":496,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:12: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.501","http_referrer":"","http_user_agent":"node-fetch","requestID":"867b890504889cd24631688233d61941"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.243943,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94157807-481c-4335-9751-2f260af782fa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762366.439383} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"401a1e00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2Nn0.Lp3KDYtwT2s87cd7uZokIDfknjaoa5qxry6ApPuhbYg","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.954586,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"e254fe33d63c5c097b0183f9dbbf4ca8","responseTime":22,"status":200,"url":"/auth"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762366,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2Nn0.Lp3KDYtwT2s87cd7uZokIDfknjaoa5qxry6ApPuhbYg"} 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":"e254fe33d63c5c097b0183f9dbbf4ca8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.254807,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6304ca1e-e5a2-4ace-8e78-1ec9ffbccd3c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762366.4748247} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"401f4e20-24c7-11ef-b353-d1d4e8136596"},"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/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling 200 28ms","method":"POST","requestID":"401a1e00-24c7-11ef-b353-d1d4e8136596","responseTime":28,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} experiment-1 | {"level":"info","message":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 200 42ms","method":"GET","requestID":"e254fe33d63c5c097b0183f9dbbf4ca8","responseTime":42,"status":200,"url":"/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} gateway-1 | {"time_local":"07/Jun/2024:12:12:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e254fe33d63c5c097b0183f9dbbf4ca8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2Nn0.Lp3KDYtwT2s87cd7uZokIDfknjaoa5qxry6ApPuhbYg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bcd0e1b79377fe3d271e81c48b54a1d4","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.943113,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762366,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2Nn0.Lp3KDYtwT2s87cd7uZokIDfknjaoa5qxry6ApPuhbYg"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"bcd0e1b79377fe3d271e81c48b54a1d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling 200 51ms","method":"POST","requestID":"401f4e20-24c7-11ef-b353-d1d4e8136596","responseTime":51,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.911607,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762366,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2Nn0.Lp3KDYtwT2s87cd7uZokIDfknjaoa5qxry6ApPuhbYg"} 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":"402d57e0-24c7-11ef-b353-d1d4e8136596"},"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/d32e903c-749d-4b31-ae60-79c99e2aa6a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d32e903c-749d-4b31-ae60-79c99e2aa6a7","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e00f51c84428c6d642ba886844d181e4","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"adc0d1709810879467563d4d039a0dbd","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd32e903c-749d-4b31-ae60-79c99e2aa6a7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd32e903c-749d-4b31-ae60-79c99e2aa6a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"b296490b-1ec3-4ab3-97dc-62bcdff3af30","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762366.6691542} 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/fe8bd6f3-6d82-450a-9015-dc0d94921291"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7"}}},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c19ae6d-6e51-4c10-98a8-504867ef98fe","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762366.670831} authorization-1 | {"level":"info","message":"POST /relations/update 200 68ms","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":"402d57e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":68}} device-1 | {"data":{"peerconnection":"d32e903c-749d-4b31-ae60-79c99e2aa6a7","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/d32e903c-749d-4b31-ae60-79c99e2aa6a7 204 195ms","method":"DELETE","requestID":"402d57e0-24c7-11ef-b353-d1d4e8136596","responseTime":195,"status":204,"url":"/peerconnections/d32e903c-749d-4b31-ae60-79c99e2aa6a7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe8bd6f3-6d82-450a-9015-dc0d94921291","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27060374-0ab9-4e64-9c37-7f33430532b3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762366.8151681} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.14667,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40535670-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling 200 45ms","method":"POST","requestID":"40535670-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbb17345-8550-4c7a-98db-6e4a981c5c0f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e482f22-8fdd-498a-b3fc-9069df6295cb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762366.8621383} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.012719,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"405a5b50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling 200 25ms","method":"POST","requestID":"405a5b50-24c7-11ef-b353-d1d4e8136596","responseTime":25,"status":200,"url":"/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffc23ae3a-8634-455e-b837-60dd63d1d943': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffc23ae3a-8634-455e-b837-60dd63d1d943","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"9bffc56f-bdf2-466d-b565-552e0c744b61","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762367.1624253} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62ed7e9d-fa36-4b27-b6ce-3e5077ddde76","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762367.163969} authorization-1 | {"level":"info","message":"POST /relations/update 200 364ms","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":"bcd0e1b79377fe3d271e81c48b54a1d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":364}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} gateway-1 | {"time_local":"07/Jun/2024:12:12:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcd0e1b79377fe3d271e81c48b54a1d4"} experiment-1 | {"level":"info","message":"DELETE /experiments/fc23ae3a-8634-455e-b837-60dd63d1d943 204 1119ms","method":"DELETE","requestID":"bcd0e1b79377fe3d271e81c48b54a1d4","responseTime":1119,"status":204,"url":"/experiments/fc23ae3a-8634-455e-b837-60dd63d1d943"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 960ms","method":"POST","requestID":"e00f51c84428c6d642ba886844d181e4","responseTime":960,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:12: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.966","http_referrer":"","http_user_agent":"node-fetch","requestID":"e00f51c84428c6d642ba886844d181e4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 958ms","method":"POST","requestID":"adc0d1709810879467563d4d039a0dbd","responseTime":958,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:12: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.967","http_referrer":"","http_user_agent":"node-fetch","requestID":"adc0d1709810879467563d4d039a0dbd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2N30.fpHRMBL8vGxQBJsyyMhK3-X73yr6QMrKkTZr7KWvIok","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e062822ec672fb9815e008a9a02ad5a0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"07/Jun/2024:12:12:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2991","request_time":"14.811","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e93179b9ce433de74691950420653c57"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:47Z"} gateway-1 | {"time_local":"07/Jun/2024:12:12:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2991","request_time":"14.834","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"59df86cbda02a88d93f703a05f2afdab"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":53.803491,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762367,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2N30.fpHRMBL8vGxQBJsyyMhK3-X73yr6QMrKkTZr7KWvIok"} authorization-1 | {"level":"info","message":"POST /authorize 200 96ms","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":"e062822ec672fb9815e008a9a02ad5a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":96}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bbb17345-8550-4c7a-98db-6e4a981c5c0f' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fe8bd6f3-6d82-450a-9015-dc0d94921291' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5499e9a9-e46b-42be-ad66-3888e8f4d7f4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.0912185} authorization-1 | {"level":"info","message":"POST /relations/query 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e062822ec672fb9815e008a9a02ad5a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":33}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c308e18f-7969-46eb-a37c-9a1842054218","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.1006694} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e062822ec672fb9815e008a9a02ad5a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"a1e16652-b3ac-49f0-9d1f-802030c79eca","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.1491597} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df0c1946-2b6f-43ee-a1b0-f581e09ff97b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.1506236} authorization-1 | {"level":"info","message":"POST /relations/update 200 52ms","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":"e062822ec672fb9815e008a9a02ad5a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":52}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.149140768Z"}]},"request_id":"a87d2122-8d37-4b8b-9da3-0392f41341f9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.1592295} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e062822ec672fb9815e008a9a02ad5a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 549ms","method":"POST","requestID":"e062822ec672fb9815e008a9a02ad5a0","responseTime":549,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:12:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.559","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e062822ec672fb9815e008a9a02ad5a0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2OH0.RaByS-O3H9mex86QYHphdYE69Hl6ODbv9t9TY-Fcon8","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"level":"info","message":"GET /auth 200 20ms","method":"GET","requestID":"68fcd2941273f85de7bcb57ec795d62e","responseTime":20,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:48Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.973574,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762368,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM2OH0.RaByS-O3H9mex86QYHphdYE69Hl6ODbv9t9TY-Fcon8"} 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":"68fcd2941273f85de7bcb57ec795d62e"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"36c8f4c5-435e-4b80-89bd-9e7a86b7ed37","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.3019671} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68fcd2941273f85de7bcb57ec795d62e"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87d94b31-59a9-4d2c-9cb6-62520229a822","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.309803} 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":"68fcd2941273f85de7bcb57ec795d62e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"821dd1b8-392f-416d-838c-5f0040c6bcb0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.6164405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0dce99cd-0e88-42da-91dc-4c8e26999234","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.6175723} authorization-1 | {"level":"info","message":"POST /relations/update 200 308ms","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":"68fcd2941273f85de7bcb57ec795d62e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":308}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.616426917Z"}]},"request_id":"3e3960f8-aa76-434b-b8ad-b5ab78cc7948","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762368.6485715} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68fcd2941273f85de7bcb57ec795d62e"},"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 445ms","method":"POST","requestID":"68fcd2941273f85de7bcb57ec795d62e","responseTime":445,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:12:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.459","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68fcd2941273f85de7bcb57ec795d62e"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3MH0.ipcs9H-Jy31_VJY_WLlIHN8Xo_liI6z0mqLBS-epVo4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0157fe6fd29f0bd1361058623841a63e","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.852178,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762370,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3MH0.ipcs9H-Jy31_VJY_WLlIHN8Xo_liI6z0mqLBS-epVo4"} 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":"0157fe6fd29f0bd1361058623841a63e"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.616426917Z"}]},"request_id":"93974589-ef0d-4fea-a1d3-3af2295793e5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762370.997736} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0157fe6fd29f0bd1361058623841a63e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b755bc6-673f-47ef-8f28-4d7f4befc542","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762371.0076952} 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":"0157fe6fd29f0bd1361058623841a63e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.616426917Z"}]},"request_id":"9cd7f371-4d12-49f7-92cc-13a007769297","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762371.109314} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0157fe6fd29f0bd1361058623841a63e"},"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":"07/Jun/2024:12:12:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.208","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0157fe6fd29f0bd1361058623841a63e"} device-1 | {"level":"info","message":"PATCH /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236 200 176ms","method":"PATCH","requestID":"0157fe6fd29f0bd1361058623841a63e","responseTime":176,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3MX0.VUKveXtp_HUgQxkNvwVwm0Av0W5zTo4hINwkqoLKbIo","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"532d7c2e2eda0ecddff832ba6020a5cc","responseTime":31,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:51Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.852486,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762371,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3MX0.VUKveXtp_HUgQxkNvwVwm0Av0W5zTo4hINwkqoLKbIo"} 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":"532d7c2e2eda0ecddff832ba6020a5cc"},"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":"07/Jun/2024:12:12:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.303","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"532d7c2e2eda0ecddff832ba6020a5cc"} device-1 | {"level":"info","message":"POST /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/websocket 200 270ms","method":"POST","requestID":"532d7c2e2eda0ecddff832ba6020a5cc","responseTime":270,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6a5332cbb1507c3f33b27f6cfa107325","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:12:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/55618496-c08f-43f6-9d62-73c2edd33995/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":"6a5332cbb1507c3f33b27f6cfa107325"} device-1 | {"level":"info","message":"OPTIONS /devices/55618496-c08f-43f6-9d62-73c2edd33995/websocket 200 2ms","method":"OPTIONS","requestID":"6a5332cbb1507c3f33b27f6cfa107325","responseTime":2,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3MX0.VUKveXtp_HUgQxkNvwVwm0Av0W5zTo4hINwkqoLKbIo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"daf7eddd362bac32a9fed7cfc1be9207","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:51Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":5.205809,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762371,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3MX0.VUKveXtp_HUgQxkNvwVwm0Av0W5zTo4hINwkqoLKbIo"} 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":"daf7eddd362bac32a9fed7cfc1be9207"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:12:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/55618496-c08f-43f6-9d62-73c2edd33995/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.128","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"daf7eddd362bac32a9fed7cfc1be9207"} device-1 | {"level":"info","message":"POST /devices/55618496-c08f-43f6-9d62-73c2edd33995/websocket 200 120ms","method":"POST","requestID":"daf7eddd362bac32a9fed7cfc1be9207","responseTime":120,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"db9d5e8355003336f931fba7307814c4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:52Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966644,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762372,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY"} 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":"db9d5e8355003336f931fba7307814c4"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.149140768Z"}]},"request_id":"fcb44982-3186-4a3e-9195-a9538a0e8f02","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762372.4435024} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db9d5e8355003336f931fba7307814c4"},"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":"07/Jun/2024:12:12:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/55618496-c08f-43f6-9d62-73c2edd33995? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db9d5e8355003336f931fba7307814c4"} device-1 | {"level":"info","message":"GET /devices/55618496-c08f-43f6-9d62-73c2edd33995? 200 53ms","method":"GET","requestID":"db9d5e8355003336f931fba7307814c4","responseTime":53,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"c1c42a6bab7d3916d0051d992894e57d","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:52Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.924927,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762372,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY"} 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":"c1c42a6bab7d3916d0051d992894e57d"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.616426917Z"}]},"request_id":"6e5458e9-d33f-4728-85f3-efb6d089efa2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762372.5074992} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1c42a6bab7d3916d0051d992894e57d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236? 200 62ms","method":"GET","requestID":"c1c42a6bab7d3916d0051d992894e57d","responseTime":62,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236?"} gateway-1 | {"time_local":"07/Jun/2024:12:12:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1c42a6bab7d3916d0051d992894e57d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:52Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.966608,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762372,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY"} authentication-1 | {"level":"info","message":"GET /auth 200 17ms","method":"GET","requestID":"77dbf1de8c3ec51a1c40a3dda47e54f4","responseTime":17,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"77dbf1de8c3ec51a1c40a3dda47e54f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:54Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.958623,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762372,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY"} 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":"45067e40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:54Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950465,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762372,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY"} 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":"450804e0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.616426917Z"}]},"request_id":"79adec67-f7c8-44cc-8131-97ea62976188","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762374.7522523} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"450804e0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.149140768Z"}]},"request_id":"28d2310f-12ae-4900-b0b5-c952e1550429","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762374.758426} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45067e40-24c7-11ef-b353-d1d4e8136596"},"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/55618496-c08f-43f6-9d62-73c2edd33995? 200 107ms","method":"GET","requestID":"45067e40-24c7-11ef-b353-d1d4e8136596","responseTime":107,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Attempting to lock booking for experiment"} device-1 | {"level":"info","message":"GET /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236? 200 114ms","method":"GET","requestID":"450804e0-24c7-11ef-b353-d1d4e8136596","responseTime":114,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898552,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762372,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} 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":"457e4650-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905099,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762372,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY"} 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":"457f09a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.616426917Z"}]},"request_id":"4bbfbf99-ae71-489c-9dd9-5bde9bfe1d52","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762375.540343} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.149140768Z"}]},"request_id":"65d8e5cf-1573-4ff2-aed0-8e15bbd9f475","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762375.5425208} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66fe4233-6238-4629-b8fc-2215e9cae23b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762375.5432425} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236? 200 75ms","method":"GET","requestID":"457f09a0-24c7-11ef-b353-d1d4e8136596","responseTime":75,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"457f09a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/55618496-c08f-43f6-9d62-73c2edd33995? 200 98ms","method":"GET","requestID":"457e4650-24c7-11ef-b353-d1d4e8136596","responseTime":98,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"457e4650-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.027449,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:55Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling 200 82ms","method":"POST","requestID":"4586aac0-24c7-11ef-b353-d1d4e8136596","responseTime":82,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 72ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4586aac0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":72}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.294336,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a645040d-6665-4610-b9e5-1bcd0b44c604","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762375.6258826} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling 200 32ms","method":"POST","requestID":"45921c70-24c7-11ef-b353-d1d4e8136596","responseTime":32,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45921c70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:34808","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:55Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e07fdfe1-7b97-4277-a1a1-b65a6b0acc15","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762375.6785614} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26e60210-fc7c-45d8-a2ca-dd9d9e53f36f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762375.694194} authorization-1 | {"client_addr":"127.0.0.1:34808","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":11.395379,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.558959,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 73ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45941840-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":73}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"459c2e90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling 200 115ms","method":"POST","requestID":"45941840-24c7-11ef-b353-d1d4e8136596","responseTime":115,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling 200 81ms","method":"POST","requestID":"459c2e90-24c7-11ef-b353-d1d4e8136596","responseTime":81,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"d34a24a9-0c60-4034-98b8-42e96e17d24e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"6272c410-c497-4dba-86fe-e5fe7b0d0695"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dcf2bc8f-a936-444f-91f9-1f35ac539253"}]},"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/55618496-c08f-43f6-9d62-73c2edd33995"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.838992,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762372,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Mn0.QfUnUoMNhZ24_KRZvXD7-f3lfX4AvCV6YiBTUsosZYY"} 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":"45ad1e80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8cc92a8c-9e9c-401b-b422-3d7ef5eb8602#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"b2b3860c-e954-4b51-9558-3d2882471e45","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762376.280533} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52e3856d-8095-4f0e-bb1c-42ed7ce44797","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762376.281945} authorization-1 | {"level":"info","message":"POST /relations/update 200 709ms","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":"77dbf1de8c3ec51a1c40a3dda47e54f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":709}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 3728ms","method":"POST","requestID":"77dbf1de8c3ec51a1c40a3dda47e54f4","responseTime":3728,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:12:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"3.735","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77dbf1de8c3ec51a1c40a3dda47e54f4"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"1da5d90f-a713-4667-9586-3afafea981f5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762376.332949} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Nn0.ile70h1VC4gwjD1A_GE_5tSDfvjWk2NDxC3DE0NEtk4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"c32eb236483351f838a19fc085dfeaa0","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f55425be-166f-4c39-bbf9-934186c8cbe1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762376.334395} authorization-1 | {"level":"info","message":"POST /relations/update 200 542ms","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":"45ad1e80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":542}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:56Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948573,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762376,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3Nn0.ile70h1VC4gwjD1A_GE_5tSDfvjWk2NDxC3DE0NEtk4"} 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":"c32eb236483351f838a19fc085dfeaa0"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.149140768Z"}]},"request_id":"93272646-657e-4663-8972-8563c7ada10a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762376.3630824} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c32eb236483351f838a19fc085dfeaa0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":23}} 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/bb5fe009-3d2a-4667-8430-b38a3195d658'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658'"} 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 1972ms","method":"POST","requestID":"45ad1e80-24c7-11ef-b353-d1d4e8136596","responseTime":1972,"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/55618496-c08f-43f6-9d62-73c2edd33995? 200 1417ms","method":"GET","requestID":"c32eb236483351f838a19fc085dfeaa0","responseTime":1417,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995?"} gateway-1 | {"time_local":"07/Jun/2024:12:12:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/55618496-c08f-43f6-9d62-73c2edd33995? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"1.458","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c32eb236483351f838a19fc085dfeaa0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3N30.Kh7qimEwHKWN6wxTfN4hUe_XyyTGhkFMuY4uiHVUpkg","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"9c409266510f2e1f609736504cc2a0eb","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:57Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917974,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762377,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM3N30.Kh7qimEwHKWN6wxTfN4hUe_XyyTGhkFMuY4uiHVUpkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c409266510f2e1f609736504cc2a0eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":42}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:12:48.616426917Z"}]},"request_id":"d9db9dba-098b-47b0-9284-aa5b8417f2b2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762377.821134} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c409266510f2e1f609736504cc2a0eb"},"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/daaa2c40-5ddc-4eab-a71f-6cccd4b28236? 200 110ms","method":"GET","requestID":"9c409266510f2e1f609736504cc2a0eb","responseTime":110,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236?"} gateway-1 | {"time_local":"07/Jun/2024:12:12:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c409266510f2e1f609736504cc2a0eb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:58Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"379e1097-0b1c-49d1-886b-0da17edeac99","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762378.4035506} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.318314,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling 200 37ms","method":"POST","requestID":"473bd4d0-24c7-11ef-b353-d1d4e8136596","responseTime":37,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"473bd4d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:12:58Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.825458,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:12:58Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"441d8cde-86b0-4e8a-a59e-84d17a8bd528","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762378.4453788} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling 200 44ms","method":"POST","requestID":"47423d70-24c7-11ef-b353-d1d4e8136596","responseTime":44,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47423d70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"data":{"peerconnection":"bb5fe009-3d2a-4667-8430-b38a3195d658","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/bb5fe009-3d2a-4667-8430-b38a3195d658' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bb5fe009-3d2a-4667-8430-b38a3195d658","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dfc7c3f487e18d84004dbdc87e5efc9b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"dfc7c3f487e18d84004dbdc87e5efc9b","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:12: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.058","http_referrer":"","http_user_agent":"node-fetch","requestID":"dfc7c3f487e18d84004dbdc87e5efc9b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"30ba2551c0b2816e94b1d6d631845851","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.934198,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762380,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","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":"30ba2551c0b2816e94b1d6d631845851"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} gateway-1 | {"time_local":"07/Jun/2024:12:13:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30ba2551c0b2816e94b1d6d631845851"} experiment-1 | {"level":"info","message":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 200 44ms","method":"GET","requestID":"30ba2551c0b2816e94b1d6d631845851","responseTime":44,"status":200,"url":"/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6be8bf110efeb2c7767c58172b9d2261","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.876233,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762380,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k"} 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":"6be8bf110efeb2c7767c58172b9d2261"},"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/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} gateway-1 | {"time_local":"07/Jun/2024:12:13:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6be8bf110efeb2c7767c58172b9d2261"} experiment-1 | {"level":"info","message":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 200 43ms","method":"GET","requestID":"6be8bf110efeb2c7767c58172b9d2261","responseTime":43,"status":200,"url":"/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} device-1 | {"data":{"peerconnection":"bb5fe009-3d2a-4667-8430-b38a3195d658","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f18b8475e01ca26ce636a1c75f2171c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.859008,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762380,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k"} 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":"9f18b8475e01ca26ce636a1c75f2171c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"peerconnection":"bb5fe009-3d2a-4667-8430-b38a3195d658","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} gateway-1 | {"time_local":"07/Jun/2024:12:13:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f18b8475e01ca26ce636a1c75f2171c"} experiment-1 | {"level":"info","message":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 200 92ms","method":"GET","requestID":"9f18b8475e01ca26ce636a1c75f2171c","responseTime":92,"status":200,"url":"/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bb5fe009-3d2a-4667-8430-b38a3195d658","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1ac92ecf2f5d0754f16c353fae431a8a","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/55618496-c08f-43f6-9d62-73c2edd33995"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658"}}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"ba458d1efeafcbb726fb5476fc7e1959","responseTime":9,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.927279,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbb5fe009-3d2a-4667-8430-b38a3195d658","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d2c5b02-f67e-4c80-8448-407d25af7cee","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762380.6073353} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658","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":"488c2290-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.957152,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762380,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","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":"ba458d1efeafcbb726fb5476fc7e1959"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} experiment-1 | {"level":"info","message":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 200 54ms","method":"GET","requestID":"ba458d1efeafcbb726fb5476fc7e1959","responseTime":54,"status":200,"url":"/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} gateway-1 | {"time_local":"07/Jun/2024:12:13:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba458d1efeafcbb726fb5476fc7e1959"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66d009bc9c2b09f483d2417c2a5e34f5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.926165,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762380,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k"} 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":"66d009bc9c2b09f483d2417c2a5e34f5"},"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/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} gateway-1 | {"time_local":"07/Jun/2024:12:13:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 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":"66d009bc9c2b09f483d2417c2a5e34f5"} experiment-1 | {"level":"info","message":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 200 20ms","method":"GET","requestID":"66d009bc9c2b09f483d2417c2a5e34f5","responseTime":20,"status":200,"url":"/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"3026e1b64622503449f5600578438db7","responseTime":11,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.92686,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762380,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MH0.3cdYWEI4eP486MB0r7Hg5VaKqCXqVlsWYXTmz8Bi_4k"} 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":"3026e1b64622503449f5600578438db7"},"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/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} gateway-1 | {"time_local":"07/Jun/2024:12:13:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3026e1b64622503449f5600578438db7"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} experiment-1 | {"level":"info","message":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 200 51ms","method":"GET","requestID":"3026e1b64622503449f5600578438db7","responseTime":51,"status":200,"url":"/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} device-1 | {"level":"info","message":"GET /peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658 200 354ms","method":"GET","requestID":"488c2290-24c7-11ef-b353-d1d4e8136596","responseTime":354,"status":200,"url":"/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 487ms","method":"POST","requestID":"1ac92ecf2f5d0754f16c353fae431a8a","responseTime":487,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.476783,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af1a37f7-f46e-49ad-bda1-391629c5d404","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762381.016125} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling 200 16ms","method":"POST","requestID":"48ca6410-24c7-11ef-b353-d1d4e8136596","responseTime":16,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48ca6410-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} gateway-1 | {"time_local":"07/Jun/2024:12:13:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.543","http_referrer":"","http_user_agent":"node-fetch","requestID":"1ac92ecf2f5d0754f16c353fae431a8a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MX0.j5Xw_o7Qi7xBBTimRXy4Bqtynlqa6uwgJoR5_m8Dr3A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c39e72d73f727562ec8610ed4d57f71","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.943444,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76b1f2cd-8ca6-4301-8bc0-5171a45a0596","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762381.077555} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling 200 60ms","method":"POST","requestID":"48cdbf70-24c7-11ef-b353-d1d4e8136596","responseTime":60,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48cdbf70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.916798,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762381,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MX0.j5Xw_o7Qi7xBBTimRXy4Bqtynlqa6uwgJoR5_m8Dr3A"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} gateway-1 | {"time_local":"07/Jun/2024:12:13:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c39e72d73f727562ec8610ed4d57f71"} experiment-1 | {"level":"info","message":"GET /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 200 56ms","method":"GET","requestID":"2c39e72d73f727562ec8610ed4d57f71","responseTime":56,"status":200,"url":"/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MX0.j5Xw_o7Qi7xBBTimRXy4Bqtynlqa6uwgJoR5_m8Dr3A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a5b13cb180c875a76b9a4d3f2237311f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","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":"2c39e72d73f727562ec8610ed4d57f71"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.993216,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762381,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MX0.j5Xw_o7Qi7xBBTimRXy4Bqtynlqa6uwgJoR5_m8Dr3A"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","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":"a5b13cb180c875a76b9a4d3f2237311f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.915527,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762381,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4MX0.j5Xw_o7Qi7xBBTimRXy4Bqtynlqa6uwgJoR5_m8Dr3A"} 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":"48e7b010-24c7-11ef-b353-d1d4e8136596"},"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/bb5fe009-3d2a-4667-8430-b38a3195d658' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bb5fe009-3d2a-4667-8430-b38a3195d658","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c1759383e39861d1e3e021a62f3d5ae8","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/55618496-c08f-43f6-9d62-73c2edd33995"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"49937136e96ff70f9eb2b9dfdc194f69","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/55618496-c08f-43f6-9d62-73c2edd33995"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbb5fe009-3d2a-4667-8430-b38a3195d658': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbb5fe009-3d2a-4667-8430-b38a3195d658","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"eca39bf7-f881-40d1-a132-b9a670cc88db","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762381.3073273} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c32ae20a-9ae5-479d-84bc-5e1089074a32","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762381.3085887} 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":"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":"48e7b010-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":93}} device-1 | {"data":{"peerconnection":"bb5fe009-3d2a-4667-8430-b38a3195d658","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/bb5fe009-3d2a-4667-8430-b38a3195d658 204 353ms","method":"DELETE","requestID":"48e7b010-24c7-11ef-b353-d1d4e8136596","responseTime":353,"status":204,"url":"/peerconnections/bb5fe009-3d2a-4667-8430-b38a3195d658"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.277567,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F55618496-c08f-43f6-9d62-73c2edd33995","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec6150a1-8f4f-460f-b451-9cb324a29b19","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762381.6278439} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49272a10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling 200 43ms","method":"POST","requestID":"49272a10-24c7-11ef-b353-d1d4e8136596","responseTime":43,"status":200,"url":"/devices/55618496-c08f-43f6-9d62-73c2edd33995/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.87626,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:01Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaaa2c40-5ddc-4eab-a71f-6cccd4b28236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c4c0d61-b27b-4c95-a7a6-f48f09649482","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762381.6692812} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"492e2ef0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling 200 18ms","method":"POST","requestID":"492e2ef0-24c7-11ef-b353-d1d4e8136596","responseTime":18,"status":200,"url":"/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8cc92a8c-9e9c-401b-b422-3d7ef5eb8602': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8cc92a8c-9e9c-401b-b422-3d7ef5eb8602","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"7a366d08-ba9d-4f8a-baa9-63c8d047fc04","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762382.0417202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ad4d457-611d-46fe-a104-972fb3b6dc83","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762382.0431945} authorization-1 | {"level":"info","message":"POST /relations/update 200 496ms","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":"a5b13cb180c875a76b9a4d3f2237311f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":496}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} gateway-1 | {"time_local":"07/Jun/2024:12:13:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"2.348","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a5b13cb180c875a76b9a4d3f2237311f"} experiment-1 | {"level":"info","message":"DELETE /experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602 204 2334ms","method":"DELETE","requestID":"a5b13cb180c875a76b9a4d3f2237311f","responseTime":2334,"status":204,"url":"/experiments/8cc92a8c-9e9c-401b-b422-3d7ef5eb8602"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 2235ms","method":"POST","requestID":"c1759383e39861d1e3e021a62f3d5ae8","responseTime":2235,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 2230ms","method":"POST","requestID":"49937136e96ff70f9eb2b9dfdc194f69","responseTime":2230,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"2.277","http_referrer":"","http_user_agent":"node-fetch","requestID":"c1759383e39861d1e3e021a62f3d5ae8"} gateway-1 | {"time_local":"07/Jun/2024:12:13:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"2.267","http_referrer":"","http_user_agent":"node-fetch","requestID":"49937136e96ff70f9eb2b9dfdc194f69"} gateway-1 | {"time_local":"07/Jun/2024:12:13:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"11.681","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fb64dde9284608e0c561a278d76d7625"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/55618496-c08f-43f6-9d62-73c2edd33995' closed"} gateway-1 | {"time_local":"07/Jun/2024:12:13:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"12.124","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b142290d825005f06c10e56f580573da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4M30.thqQt_SEkzL0SAbz1zxkkasFdqnE3leEbmlQ37oLSJg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5a178f49a2ca584a0c3ed10c83bca6c8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/daaa2c40-5ddc-4eab-a71f-6cccd4b28236' closed"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.995309,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762383,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4M30.thqQt_SEkzL0SAbz1zxkkasFdqnE3leEbmlQ37oLSJg"} 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":"5a178f49a2ca584a0c3ed10c83bca6c8"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"efedc10e-d675-4078-9193-db14ddb46bc2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.073942} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a178f49a2ca584a0c3ed10c83bca6c8"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2628bf02-37b7-43a6-80b5-65ca07b4e3c4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.0886025} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a178f49a2ca584a0c3ed10c83bca6c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"8ce8516c-a9d6-4cee-b002-a27ddc404c17","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.1350536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f65ef9c2-accc-4381-b545-df0cb1364372","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.136317} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","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":"5a178f49a2ca584a0c3ed10c83bca6c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":41}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.135036859Z"}]},"request_id":"6ad564dd-4af3-4efe-9d58-1d1613fd8c6b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.1440842} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a178f49a2ca584a0c3ed10c83bca6c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.580","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a178f49a2ca584a0c3ed10c83bca6c8"} device-1 | {"level":"info","message":"POST /devices? 201 562ms","method":"POST","requestID":"5a178f49a2ca584a0c3ed10c83bca6c8","responseTime":562,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4NH0.6R04eGnPvUygmdr3dpIP2QavPnqCdZ25MxULtR8EELU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"70f071be75a466a4c00cc3ee5256322c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:04Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.136376,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762384,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4NH0.6R04eGnPvUygmdr3dpIP2QavPnqCdZ25MxULtR8EELU"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","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":"70f071be75a466a4c00cc3ee5256322c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6ca794b2-94c7-49f1-8969-21f12b468521","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.6307662} 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":"70f071be75a466a4c00cc3ee5256322c"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c007737-85bf-45cd-a5e2-0d4a84c7b035","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.6381667} 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":"70f071be75a466a4c00cc3ee5256322c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"11fc5267-605c-43a1-b10a-ef84b382ca66","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.6794305} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75df1757-b6a3-417a-95e9-c1abb1bca8b4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.6808836} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","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":"70f071be75a466a4c00cc3ee5256322c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.679412589Z"}]},"request_id":"16746d3f-52bf-4b5c-9785-1d796f9f4363","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762384.6941545} 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":"70f071be75a466a4c00cc3ee5256322c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.548","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70f071be75a466a4c00cc3ee5256322c"} device-1 | {"level":"info","message":"POST /devices? 201 543ms","method":"POST","requestID":"70f071be75a466a4c00cc3ee5256322c","responseTime":543,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4Nn0._hnNIyAfRriHXxWVp9PSftkyWNRQYjhrXUT-GiHPKVw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"55460e184d36f1f976cba337a2a0e5d0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:06Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.181296,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762386,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4Nn0._hnNIyAfRriHXxWVp9PSftkyWNRQYjhrXUT-GiHPKVw"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55460e184d36f1f976cba337a2a0e5d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.135036859Z"}]},"request_id":"d1109699-8c1b-4534-9e94-178a03f58923","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762386.473497} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55460e184d36f1f976cba337a2a0e5d0"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d56e43d6-e09e-4cab-ac83-0989ccbe45c6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762386.4827356} 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":"55460e184d36f1f976cba337a2a0e5d0"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.135036859Z"}]},"request_id":"f7fb2e0c-5296-4d84-b052-1abf729ae251","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762386.9605584} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55460e184d36f1f976cba337a2a0e5d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.540","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"55460e184d36f1f976cba337a2a0e5d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4Nn0._hnNIyAfRriHXxWVp9PSftkyWNRQYjhrXUT-GiHPKVw","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"PATCH /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a 200 550ms","method":"PATCH","requestID":"55460e184d36f1f976cba337a2a0e5d0","responseTime":550,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 18ms","method":"GET","requestID":"225749df2c51ec7e5b8fbc56bf20b701","responseTime":18,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961999,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762386,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4Nn0._hnNIyAfRriHXxWVp9PSftkyWNRQYjhrXUT-GiHPKVw"} 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":"225749df2c51ec7e5b8fbc56bf20b701"},"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":"07/Jun/2024:12:13:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.107","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"225749df2c51ec7e5b8fbc56bf20b701"} device-1 | {"level":"info","message":"POST /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/websocket 200 90ms","method":"POST","requestID":"225749df2c51ec7e5b8fbc56bf20b701","responseTime":90,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"32a330bda45fd16d16bbb8b7b5f3520e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:13:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/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":"32a330bda45fd16d16bbb8b7b5f3520e"} device-1 | {"level":"info","message":"OPTIONS /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/websocket 200 1ms","method":"OPTIONS","requestID":"32a330bda45fd16d16bbb8b7b5f3520e","responseTime":1,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4N30.Sm6NZC1eareo6W8UYBtr9_WrwRaDP0ALvSnZp4Y6XEk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"7050a5f2c6a9684fc5fb726103fc7507","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.025071,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762387,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4N30.Sm6NZC1eareo6W8UYBtr9_WrwRaDP0ALvSnZp4Y6XEk"} 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":"7050a5f2c6a9684fc5fb726103fc7507"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/websocket 200 62ms","method":"POST","requestID":"7050a5f2c6a9684fc5fb726103fc7507","responseTime":62,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:13:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.063","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7050a5f2c6a9684fc5fb726103fc7507"} device-1 | {"level":"info","message":"device 'http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0eba98c363342ad12e83575ece78859a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:09Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.861835,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762389,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0"} 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":"0eba98c363342ad12e83575ece78859a"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.135036859Z"}]},"request_id":"e26b581d-521a-44bf-896b-c8fe15b00dc8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762389.268413} 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":"0eba98c363342ad12e83575ece78859a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0eba98c363342ad12e83575ece78859a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"387ceb46573749eee2029d5230f8d3fc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a? 200 89ms","method":"GET","requestID":"0eba98c363342ad12e83575ece78859a","responseTime":89,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:09Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.008704,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762389,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0"} 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":"387ceb46573749eee2029d5230f8d3fc"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.679412589Z"}]},"request_id":"01f6bdf8-0cf0-4cac-bcfe-910e677ed17b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762389.357021} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"387ceb46573749eee2029d5230f8d3fc"},"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":"07/Jun/2024:12:13:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"387ceb46573749eee2029d5230f8d3fc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fd2ae778a0727f7e0e3223104356dd12","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0? 200 61ms","method":"GET","requestID":"387ceb46573749eee2029d5230f8d3fc","responseTime":61,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0?"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:09Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.870176,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762389,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","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":"fd2ae778a0727f7e0e3223104356dd12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"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:40252","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.11904,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:10Z"} authorization-1 | {"client_addr":"127.0.0.1:40252","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.832692,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762389,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e621f80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762389,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e6294b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.679412589Z"}]},"request_id":"30bb1ce5-a4bd-42c8-901b-13425230be0d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762390.44604} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.135036859Z"}]},"request_id":"f9549499-3bcd-4ef6-91ee-82111364b53b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762390.448847} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e6294b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":32}} 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":"4e621f80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0? 200 68ms","method":"GET","requestID":"4e6294b0-24c7-11ef-b353-d1d4e8136596","responseTime":68,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a? 200 76ms","method":"GET","requestID":"4e621f80-24c7-11ef-b353-d1d4e8136596","responseTime":76,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:11Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.375733,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762389,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0"} 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":"4ecec400-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":31.042341,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762389,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 63ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ecfae60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":63}} authorization-1 | {"client_addr":"127.0.0.1:40252","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40252","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.045874,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.135036859Z"}]},"request_id":"318b0ea8-7ea8-4b25-9c7d-f09470065129","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.15632} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf1a7915-2fb0-489e-b38e-3d0868161b1d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.1607225} authorization-1 | {"level":"info","message":"POST /relations/query 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ecec400-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":33}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 56ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ed50590-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":56}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.679412589Z"}]},"request_id":"c7742d6b-4c1a-40ee-b0fd-0f37ad6fde0b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.215137} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a? 200 123ms","method":"GET","requestID":"4ecec400-24c7-11ef-b353-d1d4e8136596","responseTime":123,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ecfae60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"POST /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling 200 89ms","method":"POST","requestID":"4ed50590-24c7-11ef-b353-d1d4e8136596","responseTime":89,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0? 200 157ms","method":"GET","requestID":"4ecfae60-24c7-11ef-b353-d1d4e8136596","responseTime":157,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bd706bf-462e-4efd-b7fe-4129b694e78b#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bd706bf-462e-4efd-b7fe-4129b694e78b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"ea97e87f-9087-48fd-9b14-d02ddfe530f8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.2378197} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c2a9efb-38b2-4cb6-9123-88e25c09c506","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.239172} 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":"fd2ae778a0727f7e0e3223104356dd12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":106}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63ced130-d118-4041-a9af-7087b5dcbdde","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.2806509} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.507222,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40252","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ee2e840-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30b516b1-eac2-438e-a304-f6f9c0738384","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.2888207} authorization-1 | {"client_addr":"127.0.0.1:40252","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":12.026604,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ee7ca40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":43}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling 200 106ms","method":"POST","requestID":"4ee2e840-24c7-11ef-b353-d1d4e8136596","responseTime":106,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling 200 76ms","method":"POST","requestID":"4ee7ca40-24c7-11ef-b353-d1d4e8136596","responseTime":76,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 1969ms","method":"POST","requestID":"fd2ae778a0727f7e0e3223104356dd12","responseTime":1969,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"1.977","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd2ae778a0727f7e0e3223104356dd12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5MX0.9o7s6seOt92siRrQJqhfCrbP6PGyKYbUYzBEssLpE2A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"eeaa4615e80300571fa14cece6f0115f","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40252","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40252","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.993845,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762391,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5MX0.9o7s6seOt92siRrQJqhfCrbP6PGyKYbUYzBEssLpE2A"} 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":"eeaa4615e80300571fa14cece6f0115f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.107769,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e84e4f99-df13-44d1-9376-8af25cac53eb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.3926597} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 96ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ef47470-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":96}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.135036859Z"}]},"request_id":"1486cbc8-005b-4b6b-b232-5be1039abd9d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.4563727} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eeaa4615e80300571fa14cece6f0115f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"65a826d1-1a03-4f18-91d6-da4d2dbfc973"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f5035830-2ae5-4a64-8a23-ba95737cc40e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"93001c32-85a8-4dec-a6eb-e726a3379b90"}]},"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/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"POST /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling 200 158ms","method":"POST","requestID":"4ef47470-24c7-11ef-b353-d1d4e8136596","responseTime":158,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a? 200 128ms","method":"GET","requestID":"eeaa4615e80300571fa14cece6f0115f","responseTime":128,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a?"} device-1 | {"level":"info","message":"postPeerconnections called"} gateway-1 | {"time_local":"07/Jun/2024:12:13:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eeaa4615e80300571fa14cece6f0115f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5MX0.9o7s6seOt92siRrQJqhfCrbP6PGyKYbUYzBEssLpE2A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"9b6f5b5297231f3cc20d450443d0d342","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40252","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40252","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.847203,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.73235,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762391,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5MX0.9o7s6seOt92siRrQJqhfCrbP6PGyKYbUYzBEssLpE2A"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b6f5b5297231f3cc20d450443d0d342"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762389,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM4OX0.nSbC69n3uEhyzjlTWIWjm-rGxsHpSmvKq6GMl5SBnB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","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":"4f0d2c90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":42}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:04.679412589Z"}]},"request_id":"0bf57ef4-c7bb-4582-9fbd-6b3e643479ae","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.5734968} 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":"9b6f5b5297231f3cc20d450443d0d342"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b6f5b5297231f3cc20d450443d0d342"} device-1 | {"level":"info","message":"GET /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0? 200 63ms","method":"GET","requestID":"9b6f5b5297231f3cc20d450443d0d342","responseTime":63,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"6023caf0-61e7-4287-b043-6d92f0517a19","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.5884523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a767e4ee-9375-4824-ae76-6f950055d901","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762391.5890675} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f0d2c90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521'"} 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 751ms","method":"POST","requestID":"4f0d2c90-24c7-11ef-b353-d1d4e8136596","responseTime":751,"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/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.080684,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:12Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"adb93735-36a6-473e-a050-9bb1bfb2ec18","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762392.640318} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fb81290-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling 200 18ms","method":"POST","requestID":"4fb81290-24c7-11ef-b353-d1d4e8136596","responseTime":18,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.230522,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:12Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86a61219-a50c-4f00-bee3-fc721955ed0b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762392.6865718} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fbb6df0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling 200 45ms","method":"POST","requestID":"4fbb6df0-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling"} device-1 | {"data":{"peerconnection":"eaf45250-278d-4f0e-8080-b66a80c95521","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/eaf45250-278d-4f0e-8080-b66a80c95521' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eaf45250-278d-4f0e-8080-b66a80c95521","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"591901ecc0e4bc022ef45a896c72ec6e","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/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.024","http_referrer":"","http_user_agent":"node-fetch","requestID":"591901ecc0e4bc022ef45a896c72ec6e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 20ms","method":"POST","requestID":"591901ecc0e4bc022ef45a896c72ec6e","responseTime":20,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NH0.npefBSe4oiY_dECd7Fj2Qy44Eukkoty-E22Y_UzjgzA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b3c77f7a1aff9f33fb37215ac8eecd7","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.134497,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762394,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NH0.npefBSe4oiY_dECd7Fj2Qy44Eukkoty-E22Y_UzjgzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","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":"0b3c77f7a1aff9f33fb37215ac8eecd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} experiment-1 | {"level":"info","message":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b 200 50ms","method":"GET","requestID":"0b3c77f7a1aff9f33fb37215ac8eecd7","responseTime":50,"status":200,"url":"/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} gateway-1 | {"time_local":"07/Jun/2024:12:13:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b3c77f7a1aff9f33fb37215ac8eecd7"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0'"} device-1 | {"data":{"peerconnection":"eaf45250-278d-4f0e-8080-b66a80c95521","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NH0.npefBSe4oiY_dECd7Fj2Qy44Eukkoty-E22Y_UzjgzA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"73f6859b9da84476f93f6834ccbdccc0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.868966,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762394,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NH0.npefBSe4oiY_dECd7Fj2Qy44Eukkoty-E22Y_UzjgzA"} 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":"73f6859b9da84476f93f6834ccbdccc0"},"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/3bd706bf-462e-4efd-b7fe-4129b694e78b"} experiment-1 | {"level":"info","message":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b 200 18ms","method":"GET","requestID":"73f6859b9da84476f93f6834ccbdccc0","responseTime":18,"status":200,"url":"/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} gateway-1 | {"time_local":"07/Jun/2024:12:13:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73f6859b9da84476f93f6834ccbdccc0"} device-1 | {"data":{"peerconnection":"eaf45250-278d-4f0e-8080-b66a80c95521","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eaf45250-278d-4f0e-8080-b66a80c95521","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"345cb4d93e31a5191f125a2be8134175","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/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:14Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feaf45250-278d-4f0e-8080-b66a80c95521","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd3eef93-4791-4301-b02a-c845873f6933","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762394.9227378} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":10.989921,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521","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 39ms","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":"51104f90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":39}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NH0.npefBSe4oiY_dECd7Fj2Qy44Eukkoty-E22Y_UzjgzA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a7643915e670aabebb70e599f2264ccc","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.974354,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762394,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NH0.npefBSe4oiY_dECd7Fj2Qy44Eukkoty-E22Y_UzjgzA"} 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":"a7643915e670aabebb70e599f2264ccc"},"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/3bd706bf-462e-4efd-b7fe-4129b694e78b"} gateway-1 | {"time_local":"07/Jun/2024:12:13:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7643915e670aabebb70e599f2264ccc"} experiment-1 | {"level":"info","message":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b 200 24ms","method":"GET","requestID":"a7643915e670aabebb70e599f2264ccc","responseTime":24,"status":200,"url":"/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NX0.texY-Z4VPLYoD3MsMOYAA8jSZ7buA8QdFEwcbUVvATk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c25a696485b2d86ef690291c870b8afc","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.856712,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762395,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NX0.texY-Z4VPLYoD3MsMOYAA8jSZ7buA8QdFEwcbUVvATk"} 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":"c25a696485b2d86ef690291c870b8afc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"07/Jun/2024:12:13:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c25a696485b2d86ef690291c870b8afc"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} experiment-1 | {"level":"info","message":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b 200 46ms","method":"GET","requestID":"c25a696485b2d86ef690291c870b8afc","responseTime":46,"status":200,"url":"/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521 200 344ms","method":"GET","requestID":"51104f90-24c7-11ef-b353-d1d4e8136596","responseTime":344,"status":200,"url":"/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NX0.texY-Z4VPLYoD3MsMOYAA8jSZ7buA8QdFEwcbUVvATk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d63ec251938511d0c5c72a743e2227fa","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.89069,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762395,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5NX0.texY-Z4VPLYoD3MsMOYAA8jSZ7buA8QdFEwcbUVvATk"} 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":"d63ec251938511d0c5c72a743e2227fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1560ms","method":"POST","requestID":"345cb4d93e31a5191f125a2be8134175","responseTime":1560,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.565","http_referrer":"","http_user_agent":"node-fetch","requestID":"345cb4d93e31a5191f125a2be8134175"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"07/Jun/2024:12:13:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"1.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d63ec251938511d0c5c72a743e2227fa"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} experiment-1 | {"level":"info","message":"GET /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b 200 1161ms","method":"GET","requestID":"d63ec251938511d0c5c72a743e2227fa","responseTime":1161,"status":200,"url":"/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:16Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.221835,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2f63d1b-b7ca-4978-b760-5295841f2cb0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762396.4466012} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5Nn0.KVd6jmvEJr7gv8yC8ECyaEZ-oF18hyeODKGkLTqaOF4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"afa1060f97765baf5090e6286758f2ba","responseTime":8,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51fcab60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling 200 21ms","method":"POST","requestID":"51fcab60-24c7-11ef-b353-d1d4e8136596","responseTime":21,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:16Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.008914,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:16Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762396,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5Nn0.KVd6jmvEJr7gv8yC8ECyaEZ-oF18hyeODKGkLTqaOF4"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","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":"afa1060f97765baf5090e6286758f2ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:16Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.957561,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4039007-0a13-4178-b914-24aa0db8ded4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762396.5060768} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5204e8c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling 200 25ms","method":"POST","requestID":"5204e8c0-24c7-11ef-b353-d1d4e8136596","responseTime":25,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Attempting to finish experiment"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:16Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.872365,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762396,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5Nn0.KVd6jmvEJr7gv8yC8ECyaEZ-oF18hyeODKGkLTqaOF4"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"520f7010-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eaf45250-278d-4f0e-8080-b66a80c95521","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ec4da73285e359d0496d6e91eee9531b","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feaf45250-278d-4f0e-8080-b66a80c95521': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feaf45250-278d-4f0e-8080-b66a80c95521","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"41534081-8bb8-4934-b9a7-ec3780e4727b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762396.668507} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41ce743a-c627-410d-90c4-2b43c6a7aa2e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762396.6691253} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"851eaafb4faa106293e53b6a181f68dd","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 52ms","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":"520f7010-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":52}} 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/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521 204 186ms","method":"DELETE","requestID":"520f7010-24c7-11ef-b353-d1d4e8136596","responseTime":186,"status":204,"url":"/peerconnections/eaf45250-278d-4f0e-8080-b66a80c95521"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.358085,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:17Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93298a88-a162-4880-8623-cca83c68861c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762397.047742} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"525838e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":44}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bd706bf-462e-4efd-b7fe-4129b694e78b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bd706bf-462e-4efd-b7fe-4129b694e78b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"5d17db3f-2389-4cd5-81ef-f898c31ea47b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762397.080378} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbc0537a-9331-405a-b6db-3c3311407413","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762397.0807233} authorization-1 | {"level":"info","message":"POST /relations/update 200 63ms","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":"afa1060f97765baf5090e6286758f2ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":63}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling 200 103ms","method":"POST","requestID":"525838e0-24c7-11ef-b353-d1d4e8136596","responseTime":103,"status":200,"url":"/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.299019,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:17Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdca75f4-38c0-4c53-9f31-9e88a643e56a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b80e7898-245c-4fc3-b2af-9937070774a0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762397.1558964} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52686580-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling 200 76ms","method":"POST","requestID":"52686580-24c7-11ef-b353-d1d4e8136596","responseTime":76,"status":200,"url":"/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} gateway-1 | {"time_local":"07/Jun/2024:12:13:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2596","request_time":"10.731","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"05b12c347ad82e997d9cba50a7fd623b"} gateway-1 | {"time_local":"07/Jun/2024:12:13:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b 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":"afa1060f97765baf5090e6286758f2ba"} gateway-1 | {"time_local":"07/Jun/2024:12:13:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.171","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec4da73285e359d0496d6e91eee9531b"} experiment-1 | {"level":"info","message":"DELETE /experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b 204 1373ms","method":"DELETE","requestID":"afa1060f97765baf5090e6286758f2ba","responseTime":1373,"status":204,"url":"/experiments/3bd706bf-462e-4efd-b7fe-4129b694e78b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1157ms","method":"POST","requestID":"ec4da73285e359d0496d6e91eee9531b","responseTime":1157,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bdca75f4-38c0-4c53-9f31-9e88a643e56a' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5N30.MJdv7qkU74ow0PubeS0uLzs9MAA4LF699aV1Qymj5nE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9771be75c928f14c3bcd2f4a6ac4c0f6","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:13:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"10.074","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7dd310efafa55fd038209164503544ef"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/02b3ca85-9d03-4a5f-b74c-9e00204ff7b0' closed"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.821465,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762397,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5N30.MJdv7qkU74ow0PubeS0uLzs9MAA4LF699aV1Qymj5nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9771be75c928f14c3bcd2f4a6ac4c0f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1247ms","method":"POST","requestID":"851eaafb4faa106293e53b6a181f68dd","responseTime":1247,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.257","http_referrer":"","http_user_agent":"node-fetch","requestID":"851eaafb4faa106293e53b6a181f68dd"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8eba705e-ee09-46de-b074-06457f2fe8be","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762397.9403691} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9771be75c928f14c3bcd2f4a6ac4c0f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8189f838-6c98-482e-9792-78853c985942","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762397.9527004} 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":"9771be75c928f14c3bcd2f4a6ac4c0f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"d775180d-bb65-4cd7-a1fb-8b736be35209","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762398.2559338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d00d99f-e4d7-43a0-be97-b11965eac395","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762398.2572024} authorization-1 | {"level":"info","message":"POST /relations/update 200 333ms","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":"9771be75c928f14c3bcd2f4a6ac4c0f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":333}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.255916971Z"}]},"request_id":"d92d3c73-84a9-4bed-afae-91b36b69b956","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762398.2903686} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9771be75c928f14c3bcd2f4a6ac4c0f6"},"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":"07/Jun/2024:12:13:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.424","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9771be75c928f14c3bcd2f4a6ac4c0f6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5OH0.4rEn2cvNRuB7FfbX3jNYiI43MiiNSwfsWmyBhQwGlcU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4df43e93704c0f32fec3d32980f9cb0c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices? 201 420ms","method":"POST","requestID":"9771be75c928f14c3bcd2f4a6ac4c0f6","responseTime":420,"status":201,"url":"/devices?"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:18Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.794313,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762398,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjM5OH0.4rEn2cvNRuB7FfbX3jNYiI43MiiNSwfsWmyBhQwGlcU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4df43e93704c0f32fec3d32980f9cb0c"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"99b8cb70-6ff3-4a5d-83c8-29b854679715","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762398.5962687} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4df43e93704c0f32fec3d32980f9cb0c"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04b93394-49fc-44cd-b457-f4856ffae08f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762398.6033525} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4df43e93704c0f32fec3d32980f9cb0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"46f63b77-abc1-4339-84ba-3a748f4b200a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762398.6444027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08f289af-eeac-4057-b580-cde1ffbff9b1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762398.6457183} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","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":"4df43e93704c0f32fec3d32980f9cb0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":53}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.644381205Z"}]},"request_id":"81041a8a-14fb-4a40-82f6-9615a2c53c13","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762398.6692448} authorization-1 | {"level":"info","message":"POST /relations/query 200 51ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4df43e93704c0f32fec3d32980f9cb0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":51}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 411ms","method":"POST","requestID":"4df43e93704c0f32fec3d32980f9cb0c","responseTime":411,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.418","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4df43e93704c0f32fec3d32980f9cb0c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMH0.fpjLVrKUxMwM4DWTrF8FV_RQaA4goI4yD4hJ5jZRo8g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"d34f093db9b2bd1b18b2b60b7325fc33","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.861185,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762400,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMH0.fpjLVrKUxMwM4DWTrF8FV_RQaA4goI4yD4hJ5jZRo8g"} 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":"d34f093db9b2bd1b18b2b60b7325fc33"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMH0.fpjLVrKUxMwM4DWTrF8FV_RQaA4goI4yD4hJ5jZRo8g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"a5fb6665e9e4dadc4e58517a809242e9","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.848109,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762400,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMH0.fpjLVrKUxMwM4DWTrF8FV_RQaA4goI4yD4hJ5jZRo8g"} 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":"a5fb6665e9e4dadc4e58517a809242e9"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.255916971Z"}]},"request_id":"e66ad804-750a-4f84-aa3a-aee9d3735dda","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762400.2842007} authorization-1 | {"level":"info","message":"POST /relations/query 200 56ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d34f093db9b2bd1b18b2b60b7325fc33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":56}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1448c7bc-bf4e-4851-974b-d94e4cdbabd0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762400.328691} 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":"d34f093db9b2bd1b18b2b60b7325fc33"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.644381205Z"}]},"request_id":"d8a70fee-55cd-49ef-a11c-ec959591ec33","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762400.462793} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5fb6665e9e4dadc4e58517a809242e9"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdc434e1-6e2e-4ede-ac9d-a051307dc9d0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762400.4734142} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5fb6665e9e4dadc4e58517a809242e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":43}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.255916971Z"}]},"request_id":"39b7e427-d768-422c-b369-bdd2f6c14407","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762401.313078} 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":"d34f093db9b2bd1b18b2b60b7325fc33"},"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/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0 200 1102ms","method":"PATCH","requestID":"d34f093db9b2bd1b18b2b60b7325fc33","responseTime":1102,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0"} gateway-1 | {"time_local":"07/Jun/2024:12:13:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"1.112","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d34f093db9b2bd1b18b2b60b7325fc33"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aa66f3a1cffaa1811c0832d6977376b9","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.644381205Z"}]},"request_id":"8aa22103-69e8-4903-93da-dffc8a51d0d9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762401.3291516} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5fb6665e9e4dadc4e58517a809242e9"},"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/5c6e5fdc-6860-4c19-9137-a7b3f129c92b 200 1094ms","method":"PATCH","requestID":"a5fb6665e9e4dadc4e58517a809242e9","responseTime":1094,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} gateway-1 | {"time_local":"07/Jun/2024:12:13:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"1.126","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a5fb6665e9e4dadc4e58517a809242e9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:21Z"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"eabd5da7702025585c5b4c88976b8630","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953809,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} 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":"aa66f3a1cffaa1811c0832d6977376b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:48354","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:21Z"} authorization-1 | {"client_addr":"127.0.0.1:48354","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.086671,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eabd5da7702025585c5b4c88976b8630"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/websocket 200 66ms","method":"POST","requestID":"aa66f3a1cffaa1811c0832d6977376b9","responseTime":66,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:13:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.104","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"aa66f3a1cffaa1811c0832d6977376b9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/websocket 200 83ms","method":"POST","requestID":"eabd5da7702025585c5b4c88976b8630","responseTime":83,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:13:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.084","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"eabd5da7702025585c5b4c88976b8630"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2dae91d8f3e187f750f465c4a4235f5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:21Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055152,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} 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":"b2dae91d8f3e187f750f465c4a4235f5"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.255916971Z"}]},"request_id":"849b132e-abbb-4f40-9ef1-a244ffb6b2a9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762401.7975996} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2dae91d8f3e187f750f465c4a4235f5"},"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":"07/Jun/2024:12:13:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2dae91d8f3e187f750f465c4a4235f5"} device-1 | {"level":"info","message":"GET /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0? 200 48ms","method":"GET","requestID":"b2dae91d8f3e187f750f465c4a4235f5","responseTime":48,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 35ms","method":"GET","requestID":"432c181fedad8d9fb20fd4356ed55084","responseTime":35,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:21Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.846474,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} 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":"432c181fedad8d9fb20fd4356ed55084"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.644381205Z"}]},"request_id":"5beb123c-ee09-4741-824d-b5a58c298b60","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762401.8577046} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"432c181fedad8d9fb20fd4356ed55084"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":29}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"432c181fedad8d9fb20fd4356ed55084"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"81fd631b9dc377466c8d03b8dc7d13bc","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} device-1 | {"level":"info","message":"GET /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b? 200 61ms","method":"GET","requestID":"432c181fedad8d9fb20fd4356ed55084","responseTime":61,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b?"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:21Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.858871,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"81fd631b9dc377466c8d03b8dc7d13bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"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:38536","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906667,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55498c70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.834445,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} 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":"554a01a0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.255916971Z"}]},"request_id":"b5db862d-bf3a-4aff-bceb-709bc4ce000f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762402.0206683} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0? 200 62ms","method":"GET","requestID":"55498c70-24c7-11ef-b353-d1d4e8136596","responseTime":62,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55498c70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.644381205Z"}]},"request_id":"87455423-99b0-4c95-84fd-485ba54e9c78","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762402.0760577} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b? 200 104ms","method":"GET","requestID":"554a01a0-24c7-11ef-b353-d1d4e8136596","responseTime":104,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554a01a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855813,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"client_addr":"127.0.0.1:48354","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"client_addr":"127.0.0.1:48354","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899125,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55d1f650-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":39}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55d24470-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":42}} authorization-1 | {"client_addr":"127.0.0.1:48366","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.644381205Z"}]},"request_id":"92fca230-a827-4936-b2ec-010d64f50f71","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762402.9327428} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.255916971Z"}]},"request_id":"cd7f7138-52aa-4029-b5e7-a99baa71997b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762402.93315} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b? 200 67ms","method":"GET","requestID":"55d24470-24c7-11ef-b353-d1d4e8136596","responseTime":67,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7b71fbb-42d2-4691-9c86-bafb60cd8b11","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762402.9333074} 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":"55d24470-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55d1f650-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":36}} authorization-1 | {"client_addr":"127.0.0.1:48366","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.994031,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:22Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0? 200 100ms","method":"GET","requestID":"55d1f650-24c7-11ef-b353-d1d4e8136596","responseTime":100,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 66ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55d307c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":66}} device-1 | {"level":"info","message":"POST /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling 200 110ms","method":"POST","requestID":"55d307c0-24c7-11ef-b353-d1d4e8136596","responseTime":110,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"client_addr":"127.0.0.1:48354","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.892795,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34e01450-3129-4f04-a881-f4f121f48cd9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762402.996706} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"499d506e-f97c-4416-95d5-7a24d6b34728","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762402.9976025} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling 200 56ms","method":"POST","requestID":"55e1d4d0-24c7-11ef-b353-d1d4e8136596","responseTime":56,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55e1d4d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} authorization-1 | {"client_addr":"127.0.0.1:48354","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.543967,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 50ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55e445d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":50}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling 200 60ms","method":"POST","requestID":"55e445d0-24c7-11ef-b353-d1d4e8136596","responseTime":60,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"895d4a86-9875-47a3-84c1-9bd8723cc3be","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762403.0522494} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.592458,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55eb71c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"58943c72-6050-4c5e-925b-9ae7582c41e1"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"b3b2ba4b-88b2-4b5d-9a0e-62bbf4c4687d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3511d46e-cfdf-4f96-b382-d7897c894164"}]},"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/5c6e5fdc-6860-4c19-9137-a7b3f129c92b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling 200 56ms","method":"POST","requestID":"55eb71c0-24c7-11ef-b353-d1d4e8136596","responseTime":56,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.928131,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762401,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwMX0._5NaGkbC5-jxZWd4U5tXk_JOajIylTDWrVabRrUw7ng"} 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":"55f42450-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc47ad13b-2d61-492a-b149-36822d54eb4c#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc47ad13b-2d61-492a-b149-36822d54eb4c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"80d7e5b5-fc9f-44ad-87a0-10684bec4f77","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762403.215727} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bab67cc-d041-4cc1-ad81-de5669a54a48","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762403.216505} authorization-1 | {"level":"info","message":"POST /relations/update 200 299ms","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":"81fd631b9dc377466c8d03b8dc7d13bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":299}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"2e560280-a44b-4cc1-9185-860cf267c4a4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762403.225866} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"383b8fb2-895c-4958-b0f2-74178666c715","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762403.226705} 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":"55f42450-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":113}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 1365ms","method":"POST","requestID":"81fd631b9dc377466c8d03b8dc7d13bc","responseTime":1365,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"1.374","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81fd631b9dc377466c8d03b8dc7d13bc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwM30.gGTsNhZ5xtRifTi5RNEqG8WZDx_V9oOpv9RecQUF7bs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6a8a1fa4891c45e992a2b595d20bbc08","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} 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/eb16245f-e165-4dc8-946b-fb018ececa63'"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:23Z"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63'"} 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 198ms","method":"POST","requestID":"55f42450-24c7-11ef-b353-d1d4e8136596","responseTime":198,"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"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.992767,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762403,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwM30.gGTsNhZ5xtRifTi5RNEqG8WZDx_V9oOpv9RecQUF7bs"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a8a1fa4891c45e992a2b595d20bbc08"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.255916971Z"}]},"request_id":"f1f89f06-28f6-45d5-bdff-838d1f15ea92","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762403.3363674} 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":"6a8a1fa4891c45e992a2b595d20bbc08"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a8a1fa4891c45e992a2b595d20bbc08"} device-1 | {"level":"info","message":"GET /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0? 200 70ms","method":"GET","requestID":"6a8a1fa4891c45e992a2b595d20bbc08","responseTime":70,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwM30.gGTsNhZ5xtRifTi5RNEqG8WZDx_V9oOpv9RecQUF7bs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8009c0072c09adc15573e6f1fa68c4ac","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.993047,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762403,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwM30.gGTsNhZ5xtRifTi5RNEqG8WZDx_V9oOpv9RecQUF7bs"} 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":"8009c0072c09adc15573e6f1fa68c4ac"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:18.644381205Z"}]},"request_id":"95223482-4791-4a89-bcde-c9fb9c99c418","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762403.4120514} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8009c0072c09adc15573e6f1fa68c4ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8009c0072c09adc15573e6f1fa68c4ac"} device-1 | {"level":"info","message":"GET /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b? 200 88ms","method":"GET","requestID":"8009c0072c09adc15573e6f1fa68c4ac","responseTime":88,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfee9e81-d512-48f3-b500-d0c9da86d91d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762403.6909022} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.610432,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"564a81b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling 200 44ms","method":"POST","requestID":"564a81b0-24c7-11ef-b353-d1d4e8136596","responseTime":44,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b687207-a0b0-46a7-8239-85bda8bc2f8c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762403.7105381} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.827142,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56518690-24c7-11ef-b353-d1d4e8136596"},"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/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling 200 12ms","method":"POST","requestID":"56518690-24c7-11ef-b353-d1d4e8136596","responseTime":12,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling"} device-1 | {"data":{"peerconnection":"eb16245f-e165-4dc8-946b-fb018ececa63","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"eb16245f-e165-4dc8-946b-fb018ececa63","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/eb16245f-e165-4dc8-946b-fb018ececa63' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb16245f-e165-4dc8-946b-fb018ececa63","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"31b151d526565eeae518138382e4a895","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/5c6e5fdc-6860-4c19-9137-a7b3f129c92b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"eb16245f-e165-4dc8-946b-fb018ececa63","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 76ms","method":"POST","requestID":"31b151d526565eeae518138382e4a895","responseTime":76,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch","requestID":"31b151d526565eeae518138382e4a895"} device-1 | {"data":{"peerconnection":"eb16245f-e165-4dc8-946b-fb018ececa63","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/eb16245f-e165-4dc8-946b-fb018ececa63' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb16245f-e165-4dc8-946b-fb018ececa63","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e1c1ba20ecc55dd9305f8e37520892ba","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/5c6e5fdc-6860-4c19-9137-a7b3f129c92b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:25Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb16245f-e165-4dc8-946b-fb018ececa63","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df9a7370-334f-4c2a-9f98-c9c9e99569bc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762405.748768} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.004756,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63","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":"57887ff0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwNX0.x28SNxummAURYE10SYVpaTWF_72aaQBi49bnsy8zC1U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74d9795b5317f3846ca41b3bffbaf0b9","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.870156,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762405,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwNX0.x28SNxummAURYE10SYVpaTWF_72aaQBi49bnsy8zC1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","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":"74d9795b5317f3846ca41b3bffbaf0b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} experiment-1 | {"level":"info","message":"GET /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c 200 49ms","method":"GET","requestID":"74d9795b5317f3846ca41b3bffbaf0b9","responseTime":49,"status":200,"url":"/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} gateway-1 | {"time_local":"07/Jun/2024:12:13:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74d9795b5317f3846ca41b3bffbaf0b9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwNX0.x28SNxummAURYE10SYVpaTWF_72aaQBi49bnsy8zC1U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74e876e3d80f6a3125cbec3b919a00d3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.034557,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762405,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwNX0.x28SNxummAURYE10SYVpaTWF_72aaQBi49bnsy8zC1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","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":"74e876e3d80f6a3125cbec3b919a00d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} experiment-1 | {"level":"info","message":"GET /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c 200 47ms","method":"GET","requestID":"74e876e3d80f6a3125cbec3b919a00d3","responseTime":47,"status":200,"url":"/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} gateway-1 | {"time_local":"07/Jun/2024:12:13:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c 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":"74e876e3d80f6a3125cbec3b919a00d3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63 200 275ms","method":"GET","requestID":"57887ff0-24c7-11ef-b353-d1d4e8136596","responseTime":275,"status":200,"url":"/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwNn0.5vieqWe4UwJPC3bbKKUP52ZVL_GJWWAkgGUU9pBN6B4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"99d0ca73f5942e1936443fe31ec12f08","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.870438,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762406,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwNn0.5vieqWe4UwJPC3bbKKUP52ZVL_GJWWAkgGUU9pBN6B4"} authorization-1 | {"level":"info","message":"POST /authorize 200 20ms","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":"99d0ca73f5942e1936443fe31ec12f08"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 724ms","method":"POST","requestID":"e1c1ba20ecc55dd9305f8e37520892ba","responseTime":724,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e7bb9c1-2444-4dec-bd12-ed6e1484ef2a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762406.431} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.819507,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"07/Jun/2024:12:13:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.764","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1c1ba20ecc55dd9305f8e37520892ba"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} experiment-1 | {"level":"info","message":"GET /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c 200 393ms","method":"GET","requestID":"99d0ca73f5942e1936443fe31ec12f08","responseTime":393,"status":200,"url":"/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} gateway-1 | {"time_local":"07/Jun/2024:12:13:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.403","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99d0ca73f5942e1936443fe31ec12f08"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57f09090-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling 200 44ms","method":"POST","requestID":"57f09090-24c7-11ef-b353-d1d4e8136596","responseTime":44,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwNn0.5vieqWe4UwJPC3bbKKUP52ZVL_GJWWAkgGUU9pBN6B4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"675e4b0fe1051bb412430f19e9893c12","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.909331,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"client_addr":"127.0.0.1:48354","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"client_addr":"127.0.0.1:48354","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.359425,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762406,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwNn0.5vieqWe4UwJPC3bbKKUP52ZVL_GJWWAkgGUU9pBN6B4"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","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":"675e4b0fe1051bb412430f19e9893c12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84fdec8a-a4f3-4ae1-be12-cb6009ed6392","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762406.481249} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57f7bc80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":42}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling 200 55ms","method":"POST","requestID":"57f7bc80-24c7-11ef-b353-d1d4e8136596","responseTime":55,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.845497,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762406,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwNn0.5vieqWe4UwJPC3bbKKUP52ZVL_GJWWAkgGUU9pBN6B4"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"5801cea0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb16245f-e165-4dc8-946b-fb018ececa63","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb16245f-e165-4dc8-946b-fb018ececa63': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb16245f-e165-4dc8-946b-fb018ececa63","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"ba05724c-01ca-48e7-b43d-4e75c5b659f1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762406.5877016} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fcb72d10-4867-45cd-ad32-e8012852344f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762406.6250706} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","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":"5801cea0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":46}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"302fea5d299d6dab492af7d5173d085c","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b1f44571acb2a09ae899c1cc9615476","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"eb16245f-e165-4dc8-946b-fb018ececa63","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/eb16245f-e165-4dc8-946b-fb018ececa63 204 338ms","method":"DELETE","requestID":"5801cea0-24c7-11ef-b353-d1d4e8136596","responseTime":338,"status":204,"url":"/peerconnections/eb16245f-e165-4dc8-946b-fb018ececa63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc47ad13b-2d61-492a-b149-36822d54eb4c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc47ad13b-2d61-492a-b149-36822d54eb4c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"ed0db8c3-65cd-45b0-90d7-a30063bbab15","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762406.9425404} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acc4773b-1563-4fb7-8b70-e5e13c89d546","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762406.9428427} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","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":"675e4b0fe1051bb412430f19e9893c12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":37}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6e5fdc-6860-4c19-9137-a7b3f129c92b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5afa6d0b-b375-4fb0-aea9-3c281334bacd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762406.9476311} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.755226,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"583e8980-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling 200 19ms","method":"POST","requestID":"583e8980-24c7-11ef-b353-d1d4e8136596","responseTime":19,"status":200,"url":"/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:26Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f854772-928f-43d3-90d0-210c4a02a967","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762407.0006318} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.864271,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling 200 41ms","method":"POST","requestID":"58471500-24c7-11ef-b353-d1d4e8136596","responseTime":41,"status":200,"url":"/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58471500-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} gateway-1 | {"time_local":"07/Jun/2024:12:13:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"675e4b0fe1051bb412430f19e9893c12"} gateway-1 | {"time_local":"07/Jun/2024:12:13:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"6.238","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"42db6a9b90e4c449a1c6db5805999d91"} gateway-1 | {"time_local":"07/Jun/2024:12:13:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"6.218","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4dabcddf0db88fec48e94aca05a93fdc"} experiment-1 | {"level":"info","message":"DELETE /experiments/c47ad13b-2d61-492a-b149-36822d54eb4c 204 1200ms","method":"DELETE","requestID":"675e4b0fe1051bb412430f19e9893c12","responseTime":1200,"status":204,"url":"/experiments/c47ad13b-2d61-492a-b149-36822d54eb4c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwN30.Dybfl-TLvSAN_5Z8UCtqgD24Rf9TOsluMXggKpjSiVg","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1074ms","method":"POST","requestID":"302fea5d299d6dab492af7d5173d085c","responseTime":1074,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1067ms","method":"POST","requestID":"4b1f44571acb2a09ae899c1cc9615476","responseTime":1067,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"2d44afc3cf93c928e80c2947615d9d71","responseTime":31,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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":"1.080","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b1f44571acb2a09ae899c1cc9615476"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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":"1.080","http_referrer":"","http_user_agent":"node-fetch","requestID":"302fea5d299d6dab492af7d5173d085c"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6a2ca83c-96b9-40e1-9ddc-afc1a57ba4a0' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:27Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.823233,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762407,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwN30.Dybfl-TLvSAN_5Z8UCtqgD24Rf9TOsluMXggKpjSiVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","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":"2d44afc3cf93c928e80c2947615d9d71"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":38}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5c6e5fdc-6860-4c19-9137-a7b3f129c92b' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febc7bd1a-7155-4840-8303-c7bc02d901c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fa73d91b-4f10-409f-a3fc-dc82ee3530ed","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.1965384} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d44afc3cf93c928e80c2947615d9d71"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d19d207f-41d1-4261-85e8-65c350fc007e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.2389271} 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":"2d44afc3cf93c928e80c2947615d9d71"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febc7bd1a-7155-4840-8303-c7bc02d901c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"e7f64f78-5135-42b1-8430-9b1561cb0d6c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.541516} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c51eccf-34c3-4b0b-b1d7-4185c16fae4f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.5422764} authorization-1 | {"level":"info","message":"POST /relations/update 200 305ms","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":"2d44afc3cf93c928e80c2947615d9d71"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":305}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febc7bd1a-7155-4840-8303-c7bc02d901c7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febc7bd1a-7155-4840-8303-c7bc02d901c7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:28.541499208Z"}]},"request_id":"3df52dc7-4038-4b85-9e7d-2417576d4beb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.5483263} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d44afc3cf93c928e80c2947615d9d71"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.883","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d44afc3cf93c928e80c2947615d9d71"} device-1 | {"level":"info","message":"POST /devices? 201 782ms","method":"POST","requestID":"2d44afc3cf93c928e80c2947615d9d71","responseTime":782,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOH0.puGxofKnDbn4iu1oFFGQu6SY6iWvS6Lzy5YWFgmpIYk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ff1962aaaec76b405b2e13782f929882","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:28Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.241024,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762408,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOH0.puGxofKnDbn4iu1oFFGQu6SY6iWvS6Lzy5YWFgmpIYk"} 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":"ff1962aaaec76b405b2e13782f929882"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F869ebfd2-3da6-413d-91d0-e5d376699fe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e4a20cf0-4d5e-4cc3-aa87-83b0ca7f12ea","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.6573558} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff1962aaaec76b405b2e13782f929882"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41f39f67-4c70-49e5-bf70-d5590cb71549","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.6646473} 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":"ff1962aaaec76b405b2e13782f929882"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F869ebfd2-3da6-413d-91d0-e5d376699fe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"7bc4c3af-4063-40dc-aba2-207c068e5740","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.7064567} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b29713b4-10ed-4bf0-ac6c-c058b38d5a0e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.706837} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","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":"ff1962aaaec76b405b2e13782f929882"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F869ebfd2-3da6-413d-91d0-e5d376699fe9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F869ebfd2-3da6-413d-91d0-e5d376699fe9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:28.706437900Z"}]},"request_id":"88eb3bed-4fc0-4630-9acd-7ab08680a220","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762408.7603538} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 204ms","method":"POST","requestID":"ff1962aaaec76b405b2e13782f929882","responseTime":204,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 48ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff1962aaaec76b405b2e13782f929882"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":48}} gateway-1 | {"time_local":"07/Jun/2024:12:13:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.213","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff1962aaaec76b405b2e13782f929882"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOH0.puGxofKnDbn4iu1oFFGQu6SY6iWvS6Lzy5YWFgmpIYk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c58dcb1fad7abb1e1e74c6c3942e1781","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:28Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.197433,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762408,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOH0.puGxofKnDbn4iu1oFFGQu6SY6iWvS6Lzy5YWFgmpIYk"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","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":"c58dcb1fad7abb1e1e74c6c3942e1781"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcac754d-4a9c-448c-9568-92a79efac573","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"801c66ba-d1fa-47f3-9c1d-3f1f862ff302","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.0940132} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c58dcb1fad7abb1e1e74c6c3942e1781"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7e79917-b2cd-4644-9532-856ede429069","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.1052287} 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":"c58dcb1fad7abb1e1e74c6c3942e1781"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcac754d-4a9c-448c-9568-92a79efac573","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"71bb5bc9-c34a-4395-8671-e0dfafe594d7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.1122787} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cd21114-3a1f-4d36-8032-bac885aae91a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.113076} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c58dcb1fad7abb1e1e74c6c3942e1781"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcac754d-4a9c-448c-9568-92a79efac573","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcac754d-4a9c-448c-9568-92a79efac573","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:29.112260503Z"}]},"request_id":"9202f28b-4efe-4985-89aa-3e238f26bc95","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.1187956} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c58dcb1fad7abb1e1e74c6c3942e1781"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 376ms","method":"POST","requestID":"c58dcb1fad7abb1e1e74c6c3942e1781","responseTime":376,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.381","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c58dcb1fad7abb1e1e74c6c3942e1781"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOX0.7FiqhA8yEl7Iq6uvcnJ8OP2Pde8YPfzHL5JKT4naWC4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2087c42673d56b22b3a1bf744f3b2112","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:29Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.090686,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762409,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOX0.7FiqhA8yEl7Iq6uvcnJ8OP2Pde8YPfzHL5JKT4naWC4"} 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":"2087c42673d56b22b3a1bf744f3b2112"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4a49f22c-0813-41fa-b770-fecda8aea841","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"285588fc-d6fc-4f1f-a9c3-d197cd9e480f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.4573224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2087c42673d56b22b3a1bf744f3b2112"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4461f4f-a278-4427-a72e-d2492f3d7cbd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.4682622} 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":"2087c42673d56b22b3a1bf744f3b2112"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4a49f22c-0813-41fa-b770-fecda8aea841","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"2f17f6f1-0ccd-4464-a8d9-86f1afba0814","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.479453} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"795d39b6-46b5-4710-881e-4088103fb37a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.480347} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2087c42673d56b22b3a1bf744f3b2112"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4a49f22c-0813-41fa-b770-fecda8aea841","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4a49f22c-0813-41fa-b770-fecda8aea841","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:29.479433858Z"}]},"request_id":"8296dc1f-774f-4c49-8a89-f02cc7a890d7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.5142808} authorization-1 | {"level":"info","message":"POST /relations/query 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2087c42673d56b22b3a1bf744f3b2112"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 375ms","method":"POST","requestID":"2087c42673d56b22b3a1bf744f3b2112","responseTime":375,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.414","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2087c42673d56b22b3a1bf744f3b2112"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOX0.7FiqhA8yEl7Iq6uvcnJ8OP2Pde8YPfzHL5JKT4naWC4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aa5274f447d0e8a4be69d15f2c6c66e0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:29Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.835663,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762409,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOX0.7FiqhA8yEl7Iq6uvcnJ8OP2Pde8YPfzHL5JKT4naWC4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa5274f447d0e8a4be69d15f2c6c66e0"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f2ec5d-5b67-41fd-a003-4501862bb6fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a19d1ab6-cc76-409d-90f7-808f237014e2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.6381476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa5274f447d0e8a4be69d15f2c6c66e0"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"711533fd-d75b-433f-9944-b114bb0949ab","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.6446805} 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":"aa5274f447d0e8a4be69d15f2c6c66e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f2ec5d-5b67-41fd-a003-4501862bb6fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"3fb657cf-4046-4f54-a0c0-5daf97dbf627","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.930346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd6b0df4-7f72-4720-9688-a33c5d6f0158","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.9313853} authorization-1 | {"level":"info","message":"POST /relations/update 200 289ms","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":"aa5274f447d0e8a4be69d15f2c6c66e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":289}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 367ms","method":"POST","requestID":"aa5274f447d0e8a4be69d15f2c6c66e0","responseTime":367,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.372","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa5274f447d0e8a4be69d15f2c6c66e0"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f2ec5d-5b67-41fd-a003-4501862bb6fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f2ec5d-5b67-41fd-a003-4501862bb6fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:29.930327444Z"}]},"request_id":"18572290-adcd-4034-890e-bf90c017a97f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.9381986} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa5274f447d0e8a4be69d15f2c6c66e0"},"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:38536","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:29Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.931344,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:29Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOX0.7FiqhA8yEl7Iq6uvcnJ8OP2Pde8YPfzHL5JKT4naWC4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"93704797f50f02afa13f34751e39a2a6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762409,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQwOX0.7FiqhA8yEl7Iq6uvcnJ8OP2Pde8YPfzHL5JKT4naWC4"} 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":"93704797f50f02afa13f34751e39a2a6"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4791f144-cc75-4036-b9f2-f734a3b68f6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5837743c-2017-4413-a3d3-a98f2e4cc005","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762409.997861} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93704797f50f02afa13f34751e39a2a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"340bc253-fb64-4f41-8888-7f927f3562fe","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.009579} 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":"93704797f50f02afa13f34751e39a2a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4791f144-cc75-4036-b9f2-f734a3b68f6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"d2df70ad-d114-4bcb-953b-eec925c09988","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.0542958} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b06c6a5c-4342-4710-b46b-6d2b0425a671","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.0558949} authorization-1 | {"level":"info","message":"POST /relations/update 200 52ms","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":"93704797f50f02afa13f34751e39a2a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":52}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4791f144-cc75-4036-b9f2-f734a3b68f6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4791f144-cc75-4036-b9f2-f734a3b68f6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:30.054273389Z"}]},"request_id":"581855d5-3ed5-4c8c-8d08-4ab4a398c4c1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.0679417} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 122ms","method":"POST","requestID":"93704797f50f02afa13f34751e39a2a6","responseTime":122,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93704797f50f02afa13f34751e39a2a6"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93704797f50f02afa13f34751e39a2a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMH0.q3hlVZ64UqBxS1lsQZ60I9OYY8JyDmVzguRE8lf5Jac","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"58992c4c7fc813c21b458db046a4eb57","responseTime":31,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:30Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.935088,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762410,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMH0.q3hlVZ64UqBxS1lsQZ60I9OYY8JyDmVzguRE8lf5Jac"} 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":"58992c4c7fc813c21b458db046a4eb57"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd226d9be-f4c8-4a1d-b8af-acfc9ecb8db9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0cded592-1e9b-4ab0-aa5f-7a54921c8406","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.1602695} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58992c4c7fc813c21b458db046a4eb57"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57f738b6-17ee-4b07-8d8e-5d300b8aab19","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.172061} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58992c4c7fc813c21b458db046a4eb57"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevices succeeded"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd226d9be-f4c8-4a1d-b8af-acfc9ecb8db9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"a6ecc0dd-d3b9-4662-a7bd-18dedae7157a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.478879} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f97ca7ac-78a8-43e4-b160-9094d042c93f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.4803817} authorization-1 | {"level":"info","message":"POST /relations/update 200 311ms","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":"58992c4c7fc813c21b458db046a4eb57"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":311}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd226d9be-f4c8-4a1d-b8af-acfc9ecb8db9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd226d9be-f4c8-4a1d-b8af-acfc9ecb8db9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:30.478857240Z"}]},"request_id":"76057770-3a89-4b1c-99cc-7f05e164d7cf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.5185516} device-1 | {"level":"info","message":"POST /devices? 201 430ms","method":"POST","requestID":"58992c4c7fc813c21b458db046a4eb57","responseTime":430,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.464","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58992c4c7fc813c21b458db046a4eb57"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58992c4c7fc813c21b458db046a4eb57"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMH0.q3hlVZ64UqBxS1lsQZ60I9OYY8JyDmVzguRE8lf5Jac","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 56ms","method":"GET","requestID":"46b959e90d02167e8945e40bfb8708c0","responseTime":56,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:30Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.884044,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762410,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMH0.q3hlVZ64UqBxS1lsQZ60I9OYY8JyDmVzguRE8lf5Jac"} 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":"46b959e90d02167e8945e40bfb8708c0"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ca053e-6734-43d5-8e1c-0da6559722d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"78af09d1-d9e2-44fc-9638-37e9decb12ce","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.8001428} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46b959e90d02167e8945e40bfb8708c0"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77927152-eb53-47e0-ad1e-0c98ec53f28a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.832124} 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":"46b959e90d02167e8945e40bfb8708c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ca053e-6734-43d5-8e1c-0da6559722d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"329434db-2c70-437b-b3d8-7fde22ce5b7f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.881981} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b38793a-ced1-41a8-b0b2-d79fafb4b5b5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.8832161} authorization-1 | {"level":"info","message":"POST /relations/update 200 57ms","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":"46b959e90d02167e8945e40bfb8708c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":57}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ca053e-6734-43d5-8e1c-0da6559722d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09ca053e-6734-43d5-8e1c-0da6559722d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:30.881961205Z"}]},"request_id":"21cb96dc-2663-48ea-bd48-a11295464d1c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.8956642} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 273ms","method":"POST","requestID":"46b959e90d02167e8945e40bfb8708c0","responseTime":273,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46b959e90d02167e8945e40bfb8708c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} gateway-1 | {"time_local":"07/Jun/2024:12:13:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.332","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46b959e90d02167e8945e40bfb8708c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMH0.q3hlVZ64UqBxS1lsQZ60I9OYY8JyDmVzguRE8lf5Jac","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"13a648fcae2895123f989d0cca4e2322","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:30Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.918333,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762410,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMH0.q3hlVZ64UqBxS1lsQZ60I9OYY8JyDmVzguRE8lf5Jac"} 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":"13a648fcae2895123f989d0cca4e2322"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc9fb439-c87c-4686-929c-d3d5636f06e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7aff839b-337e-4c94-bb97-3ab155899f8c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.9778514} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13a648fcae2895123f989d0cca4e2322"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36ff9976-e83b-4fee-ad60-ece2db30f668","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762410.9846244} 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":"13a648fcae2895123f989d0cca4e2322"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc9fb439-c87c-4686-929c-d3d5636f06e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"93b6532c-7867-46dc-82ea-c780045ad63b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762411.851913} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0ef6765-88d2-4520-8c68-38762f1f3f95","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762411.8530798} authorization-1 | {"level":"info","message":"POST /relations/update 200 870ms","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":"13a648fcae2895123f989d0cca4e2322"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":870}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc9fb439-c87c-4686-929c-d3d5636f06e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc9fb439-c87c-4686-929c-d3d5636f06e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:31.851894367Z"}]},"request_id":"de1894ad-eb3a-4886-a60d-e65a7c601b92","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762411.861526} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.937","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13a648fcae2895123f989d0cca4e2322"} device-1 | {"level":"info","message":"POST /devices? 201 925ms","method":"POST","requestID":"13a648fcae2895123f989d0cca4e2322","responseTime":925,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13a648fcae2895123f989d0cca4e2322"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMX0.DRtvw7cIL33FslpejIA2bequLRqqAJP_S4MiIjitUBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"e7e3b6f702c15c56cfe017815e4ccbc9","responseTime":34,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:31Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.897792,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762411,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMX0.DRtvw7cIL33FslpejIA2bequLRqqAJP_S4MiIjitUBY"} 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":"e7e3b6f702c15c56cfe017815e4ccbc9"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93e4220b-30c9-49dd-95c3-5c8ee460cc2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"66124362-e73d-4236-9524-d7639ccef21a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762411.9642217} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7e3b6f702c15c56cfe017815e4ccbc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0367c48f-7967-41a3-a69f-b2e19e15a7a0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762411.972741} 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":"e7e3b6f702c15c56cfe017815e4ccbc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93e4220b-30c9-49dd-95c3-5c8ee460cc2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"47db58a7-6b36-42d7-985c-b0b3f53dadc5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.0263584} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53a966b0-eed6-4c66-a57b-3b1058735d82","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.0275915} authorization-1 | {"level":"info","message":"POST /relations/update 200 56ms","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":"e7e3b6f702c15c56cfe017815e4ccbc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":56}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93e4220b-30c9-49dd-95c3-5c8ee460cc2f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93e4220b-30c9-49dd-95c3-5c8ee460cc2f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.026337548Z"}]},"request_id":"156ff85e-ad90-4734-a679-a8d40a29209b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.0359} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 131ms","method":"POST","requestID":"e7e3b6f702c15c56cfe017815e4ccbc9","responseTime":131,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7e3b6f702c15c56cfe017815e4ccbc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"07/Jun/2024:12:13:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7e3b6f702c15c56cfe017815e4ccbc9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMn0.JZ0lteSDaJWooNuj7BJhw4TF5nbkmprfiq99R6TNGZE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"478fafa51bdcd34ccf69268abfcc0666","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:32Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.82924,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762412,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMn0.JZ0lteSDaJWooNuj7BJhw4TF5nbkmprfiq99R6TNGZE"} 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":"478fafa51bdcd34ccf69268abfcc0666"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"83180ba1-3789-4176-9c45-d8c1e7d9efdd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.3403363} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"478fafa51bdcd34ccf69268abfcc0666"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3ad88e5-d0fe-4ece-91cd-518275ad5415","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.3502352} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"478fafa51bdcd34ccf69268abfcc0666"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"686387e7-498e-43e8-8fad-f1b3e5ab8240","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.392509} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8574a4f2-af37-47f7-84dd-eb37faace6e7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.3937213} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","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":"478fafa51bdcd34ccf69268abfcc0666"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":42}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.392489063Z"}]},"request_id":"9680287f-e32d-4c15-80eb-307e5f78a9d2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.4013476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"478fafa51bdcd34ccf69268abfcc0666"},"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":"07/Jun/2024:12:13:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.358","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"478fafa51bdcd34ccf69268abfcc0666"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMn0.JZ0lteSDaJWooNuj7BJhw4TF5nbkmprfiq99R6TNGZE","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices? 201 336ms","method":"POST","requestID":"478fafa51bdcd34ccf69268abfcc0666","responseTime":336,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be0a6cd431bd3badee3ca27bf7333bcc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:32Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.155394,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762412,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMn0.JZ0lteSDaJWooNuj7BJhw4TF5nbkmprfiq99R6TNGZE"} 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":"be0a6cd431bd3badee3ca27bf7333bcc"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2edfbe24-9f93-4cef-9068-8f1715e7816b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.4591863} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be0a6cd431bd3badee3ca27bf7333bcc"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"739cfefe-b82c-433f-a27f-0acfa9d22fee","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.4657638} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be0a6cd431bd3badee3ca27bf7333bcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":38}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"d3abc68e-4f7c-4b38-86b4-2772f02b16b5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.7675774} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4986f704-5888-4bdb-b596-000e1a4da497","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.7682354} authorization-1 | {"level":"info","message":"POST /relations/update 200 275ms","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":"be0a6cd431bd3badee3ca27bf7333bcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":275}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.767553434Z"}]},"request_id":"f1cf5683-8d0d-4b24-93c6-652b771f1a79","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.7747357} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be0a6cd431bd3badee3ca27bf7333bcc"},"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 364ms","method":"POST","requestID":"be0a6cd431bd3badee3ca27bf7333bcc","responseTime":364,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.369","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be0a6cd431bd3badee3ca27bf7333bcc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMn0.JZ0lteSDaJWooNuj7BJhw4TF5nbkmprfiq99R6TNGZE","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"12efd6b55875c12bf5d47d8f35055132","responseTime":12,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:32Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.853605,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762412,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMn0.JZ0lteSDaJWooNuj7BJhw4TF5nbkmprfiq99R6TNGZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12efd6b55875c12bf5d47d8f35055132"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8688423f-7db4-4ccb-a98f-9e2b4bd171e4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.864439} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12efd6b55875c12bf5d47d8f35055132"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f45250d-c2c9-4227-a77b-3bde13afff62","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.8723772} 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":"12efd6b55875c12bf5d47d8f35055132"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"d517e1e7-6431-4f25-939a-54cd24b7300f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.9120443} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76284c5f-3153-4841-9e88-2a618d5f39ee","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.9129066} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","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":"12efd6b55875c12bf5d47d8f35055132"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":44}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.912019952Z"}]},"request_id":"ee8249f8-728b-4d34-90fe-e049e0d039d9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.9198997} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 109ms","method":"POST","requestID":"12efd6b55875c12bf5d47d8f35055132","responseTime":109,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12efd6b55875c12bf5d47d8f35055132"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:13:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12efd6b55875c12bf5d47d8f35055132"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMn0.JZ0lteSDaJWooNuj7BJhw4TF5nbkmprfiq99R6TNGZE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"e73c7de7fd0288732faaa860802bb38d","responseTime":34,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:32Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825402,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762412,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxMn0.JZ0lteSDaJWooNuj7BJhw4TF5nbkmprfiq99R6TNGZE"} 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":"e73c7de7fd0288732faaa860802bb38d"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.392489063Z"}]},"request_id":"d749894e-6c19-499f-835c-6e6971467bca","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.9804075} 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":"e73c7de7fd0288732faaa860802bb38d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00e1aeec-5865-42d2-8fcb-159e684ab03f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762412.9996922} 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":"e73c7de7fd0288732faaa860802bb38d"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.392489063Z"}]},"request_id":"cec1bb80-6949-4c8c-a12f-00ccb632e43d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.005921} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e73c7de7fd0288732faaa860802bb38d"},"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/cc9383e2-ee0d-4e25-a183-7b4d8834fef0? 200 49ms","method":"PATCH","requestID":"e73c7de7fd0288732faaa860802bb38d","responseTime":49,"status":200,"url":"/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e73c7de7fd0288732faaa860802bb38d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 32ms","method":"GET","requestID":"671dda8ed8d86b3a84b2efe2eedcfc7e","responseTime":32,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.857302,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/210e5da4-1ebe-4c1b-9583-69db30647543","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/210e5da4-1ebe-4c1b-9583-69db30647543","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"671dda8ed8d86b3a84b2efe2eedcfc7e"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.767553434Z"}]},"request_id":"6f018d07-dfef-4af5-bfa9-bb352d96b4cf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.0620098} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"671dda8ed8d86b3a84b2efe2eedcfc7e"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bb360f7-5590-4a57-9def-31d17313bf71","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.0695958} 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":"671dda8ed8d86b3a84b2efe2eedcfc7e"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.767553434Z"}]},"request_id":"65a0ffa9-1ca9-4136-b9cd-d7c98ac8a92f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.3665023} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"671dda8ed8d86b3a84b2efe2eedcfc7e"},"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":"07/Jun/2024:12:13:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/210e5da4-1ebe-4c1b-9583-69db30647543? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.359","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"671dda8ed8d86b3a84b2efe2eedcfc7e"} device-1 | {"level":"info","message":"PATCH /devices/210e5da4-1ebe-4c1b-9583-69db30647543? 200 360ms","method":"PATCH","requestID":"671dda8ed8d86b3a84b2efe2eedcfc7e","responseTime":360,"status":200,"url":"/devices/210e5da4-1ebe-4c1b-9583-69db30647543?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"e09a513e02c50605e46bb1b3cccc639c","responseTime":13,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.649178,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/328db5ff-826f-408a-acab-12ab2fb03ee7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/328db5ff-826f-408a-acab-12ab2fb03ee7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"e09a513e02c50605e46bb1b3cccc639c"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.912019952Z"}]},"request_id":"595350b2-c1d6-463e-b05c-e71f7af0437b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.4680247} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e09a513e02c50605e46bb1b3cccc639c"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"579a94f6-7240-4d95-8ca6-f8b98b4a0c6e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.477875} 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":"e09a513e02c50605e46bb1b3cccc639c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.912019952Z"}]},"request_id":"16c462d5-a104-490f-99c3-2f2082591131","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.4974635} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/328db5ff-826f-408a-acab-12ab2fb03ee7? 200 111ms","method":"PATCH","requestID":"e09a513e02c50605e46bb1b3cccc639c","responseTime":111,"status":200,"url":"/devices/328db5ff-826f-408a-acab-12ab2fb03ee7?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/328db5ff-826f-408a-acab-12ab2fb03ee7? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e09a513e02c50605e46bb1b3cccc639c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b9286a9fc7e499c0adf30dd5cf48e74e","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e09a513e02c50605e46bb1b3cccc639c"},"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:38536","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844947,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"b9286a9fc7e499c0adf30dd5cf48e74e"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc9383e2-ee0d-4e25-a183-7b4d8834fef0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.392489063Z"}]},"request_id":"aa73f6fe-781d-45a8-9dd8-9fc82593ae06","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.5890992} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9286a9fc7e499c0adf30dd5cf48e74e"},"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:38536","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.858607,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebc7bd1a-7155-4840-8303-c7bc02d901c7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ebc7bd1a-7155-4840-8303-c7bc02d901c7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"b9286a9fc7e499c0adf30dd5cf48e74e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52272","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52272","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.022732,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52264","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bcac754d-4a9c-448c-9568-92a79efac573","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/bcac754d-4a9c-448c-9568-92a79efac573","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9286a9fc7e499c0adf30dd5cf48e74e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"client_addr":"127.0.0.1:52264","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888548,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52280","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52280","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.851713,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/869ebfd2-3da6-413d-91d0-e5d376699fe9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/869ebfd2-3da6-413d-91d0-e5d376699fe9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} authorization-1 | {"level":"info","message":"POST /authorize 200 54ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9286a9fc7e499c0adf30dd5cf48e74e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":54}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/210e5da4-1ebe-4c1b-9583-69db30647543","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/210e5da4-1ebe-4c1b-9583-69db30647543","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0? 200 127ms","method":"GET","requestID":"b9286a9fc7e499c0adf30dd5cf48e74e","responseTime":127,"status":200,"url":"/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b9286a9fc7e499c0adf30dd5cf48e74e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 32ms","method":"GET","requestID":"35c835b49b4d12a988248dec2add8ce7","responseTime":32,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 50ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9286a9fc7e499c0adf30dd5cf48e74e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":50}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.050094,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/210e5da4-1ebe-4c1b-9583-69db30647543","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/210e5da4-1ebe-4c1b-9583-69db30647543","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"35c835b49b4d12a988248dec2add8ce7"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F210e5da4-1ebe-4c1b-9583-69db30647543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.767553434Z"}]},"request_id":"e21de4ee-6882-4b62-9996-f1c90d91c74e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.7184784} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35c835b49b4d12a988248dec2add8ce7"},"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:38536","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52264","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52264","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901035,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.239761,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52272","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52272","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939802,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52280","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f2ec5d-5b67-41fd-a003-4501862bb6fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/f2f2ec5d-5b67-41fd-a003-4501862bb6fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"35c835b49b4d12a988248dec2add8ce7"},"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/4a49f22c-0813-41fa-b770-fecda8aea841","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/4a49f22c-0813-41fa-b770-fecda8aea841","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"35c835b49b4d12a988248dec2add8ce7"},"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/4791f144-cc75-4036-b9f2-f734a3b68f6e","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/4791f144-cc75-4036-b9f2-f734a3b68f6e","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"35c835b49b4d12a988248dec2add8ce7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:52280","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93608,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d226d9be-f4c8-4a1d-b8af-acfc9ecb8db9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d226d9be-f4c8-4a1d-b8af-acfc9ecb8db9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35c835b49b4d12a988248dec2add8ce7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864133,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52282","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/328db5ff-826f-408a-acab-12ab2fb03ee7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/328db5ff-826f-408a-acab-12ab2fb03ee7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"35c835b49b4d12a988248dec2add8ce7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52282","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887309,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35c835b49b4d12a988248dec2add8ce7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/210e5da4-1ebe-4c1b-9583-69db30647543? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"35c835b49b4d12a988248dec2add8ce7"} device-1 | {"level":"info","message":"GET /devices/210e5da4-1ebe-4c1b-9583-69db30647543? 200 162ms","method":"GET","requestID":"35c835b49b4d12a988248dec2add8ce7","responseTime":162,"status":200,"url":"/devices/210e5da4-1ebe-4c1b-9583-69db30647543?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f8337e820b6f9c643e9d9ba2e91b1663","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.873611,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/328db5ff-826f-408a-acab-12ab2fb03ee7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/328db5ff-826f-408a-acab-12ab2fb03ee7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} 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":"f8337e820b6f9c643e9d9ba2e91b1663"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F328db5ff-826f-408a-acab-12ab2fb03ee7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:32.912019952Z"}]},"request_id":"99b6f2d8-7feb-4594-8e49-54e53e54f17e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762413.8844426} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8337e820b6f9c643e9d9ba2e91b1663"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:33Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.081863,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09ca053e-6734-43d5-8e1c-0da6559722d8","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/09ca053e-6734-43d5-8e1c-0da6559722d8","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8337e820b6f9c643e9d9ba2e91b1663"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888443,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52264","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52264","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913518,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52272","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52272","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.599599,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc9fb439-c87c-4686-929c-d3d5636f06e7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/dc9fb439-c87c-4686-929c-d3d5636f06e7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} authorization-1 | {"level":"info","message":"POST /authorize 200 56ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8337e820b6f9c643e9d9ba2e91b1663"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":56}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93e4220b-30c9-49dd-95c3-5c8ee460cc2f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/93e4220b-30c9-49dd-95c3-5c8ee460cc2f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} authorization-1 | {"level":"info","message":"POST /authorize 200 56ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8337e820b6f9c643e9d9ba2e91b1663"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":56}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/cc9383e2-ee0d-4e25-a183-7b4d8834fef0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762413,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxM30.bO_U0gU5WJ3FWABRr04qJnbwXodHiDX7FDnwSw5xn8A"} authorization-1 | {"level":"info","message":"POST /authorize 200 111ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8337e820b6f9c643e9d9ba2e91b1663"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":111}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/328db5ff-826f-408a-acab-12ab2fb03ee7? 200 283ms","method":"GET","requestID":"f8337e820b6f9c643e9d9ba2e91b1663","responseTime":283,"status":200,"url":"/devices/328db5ff-826f-408a-acab-12ab2fb03ee7?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/328db5ff-826f-408a-acab-12ab2fb03ee7? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.285","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8337e820b6f9c643e9d9ba2e91b1663"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxNH0.A-e8qW8rcOwSjNLU0UHMJkOcNC_z0gtZJ1fE7qZEIAE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 16ms","method":"GET","requestID":"77c80f0f828b15e0b120498d61dd3348","responseTime":16,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.956701,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762414,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxNH0.A-e8qW8rcOwSjNLU0UHMJkOcNC_z0gtZJ1fE7qZEIAE"} 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":"77c80f0f828b15e0b120498d61dd3348"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d555dda3-1627-4424-9d81-e4c0817b2006","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.3797061} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77c80f0f828b15e0b120498d61dd3348"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"462daa8b-0d04-4c11-b7e9-73477a8c3fd9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.3871164} 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":"77c80f0f828b15e0b120498d61dd3348"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"906c1c1e-eca1-4a4e-be93-36a7d83cc6ef","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.4294155} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f953ea1-81f5-48a2-8e7b-f377a296e9a7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.429731} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","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":"77c80f0f828b15e0b120498d61dd3348"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:34.429394685Z"}]},"request_id":"e9ad85b9-6f22-4cf0-9348-b9655fd825d0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.4352398} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77c80f0f828b15e0b120498d61dd3348"},"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":"07/Jun/2024:12:13:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.310","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77c80f0f828b15e0b120498d61dd3348"} device-1 | {"level":"info","message":"POST /devices? 201 259ms","method":"POST","requestID":"77c80f0f828b15e0b120498d61dd3348","responseTime":259,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxNH0.A-e8qW8rcOwSjNLU0UHMJkOcNC_z0gtZJ1fE7qZEIAE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"f16c7228c3b47bfd4bd7dead51440f0e","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.854829,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762414,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxNH0.A-e8qW8rcOwSjNLU0UHMJkOcNC_z0gtZJ1fE7qZEIAE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f16c7228c3b47bfd4bd7dead51440f0e"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8502cac9-d5a7-4286-838e-2ff04223f414","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"43b7bc60-760e-4fe9-b57b-e2ea703f6654","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.5231626} 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":"f16c7228c3b47bfd4bd7dead51440f0e"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a961737-8568-4871-bf2f-ce0a09fd0177","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.532017} 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":"f16c7228c3b47bfd4bd7dead51440f0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8502cac9-d5a7-4286-838e-2ff04223f414","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"9caff01e-738a-4842-a6a9-6c96f138ca0d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.8345225} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c68af55c-6e7d-4d1a-a8c1-5545d6455d8f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.8357573} authorization-1 | {"level":"info","message":"POST /relations/update 200 302ms","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":"f16c7228c3b47bfd4bd7dead51440f0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":302}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8502cac9-d5a7-4286-838e-2ff04223f414","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8502cac9-d5a7-4286-838e-2ff04223f414","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:34.834500497Z"}]},"request_id":"12dce16c-5110-4763-9e0e-6aff2261ba14","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762414.844291} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.444","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f16c7228c3b47bfd4bd7dead51440f0e"} device-1 | {"level":"info","message":"POST /devices? 201 416ms","method":"POST","requestID":"f16c7228c3b47bfd4bd7dead51440f0e","responseTime":416,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f16c7228c3b47bfd4bd7dead51440f0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxNH0.A-e8qW8rcOwSjNLU0UHMJkOcNC_z0gtZJ1fE7qZEIAE","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.952766,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762414,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxNH0.A-e8qW8rcOwSjNLU0UHMJkOcNC_z0gtZJ1fE7qZEIAE"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea9b7efa873ae27a88e5030bee855bde"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"ea9b7efa873ae27a88e5030bee855bde","responseTime":24,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fef3048c-c2a6-4036-8374-d0b50c5d9865","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762415.1562238} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea9b7efa873ae27a88e5030bee855bde"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3fc9c84c-037a-4127-b821-10a2d177c15e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762415.1634464} 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":"ea9b7efa873ae27a88e5030bee855bde"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"5317439b-ea67-4a8f-991e-8afa846f1bd3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762415.200547} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31ec936a-3754-4b1d-8f16-34847e8a7a09","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762415.2007365} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"ea9b7efa873ae27a88e5030bee855bde"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:35.200527088Z"}]},"request_id":"12aa2f3e-be1f-4d41-8203-d88b48a8d9b6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762415.208271} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea9b7efa873ae27a88e5030bee855bde"},"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 327ms","method":"POST","requestID":"ea9b7efa873ae27a88e5030bee855bde","responseTime":327,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.326","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea9b7efa873ae27a88e5030bee855bde"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"30ffdaf15c236c04c6b11fe40ee9623e","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:13:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/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":"30ffdaf15c236c04c6b11fe40ee9623e"} device-1 | {"level":"info","message":"OPTIONS /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/websocket 200 1ms","method":"OPTIONS","requestID":"30ffdaf15c236c04c6b11fe40ee9623e","responseTime":1,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"26acb41139458997d7e222e9c8b4fc4c","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909018,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} 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":"26acb41139458997d7e222e9c8b4fc4c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fc47c9b47eb2ffcaaef2e03c5ea767ee","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:13:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a1a77ef2-bbd2-4a93-b120-650842466599/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":"fc47c9b47eb2ffcaaef2e03c5ea767ee"} device-1 | {"level":"info","message":"OPTIONS /devices/a1a77ef2-bbd2-4a93-b120-650842466599/websocket 200 9ms","method":"OPTIONS","requestID":"fc47c9b47eb2ffcaaef2e03c5ea767ee","responseTime":9,"status":200,"url":"/devices/a1a77ef2-bbd2-4a93-b120-650842466599/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0a6c29a14c0b7532a6df63f57ad4b359","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886724,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} 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":"0a6c29a14c0b7532a6df63f57ad4b359"},"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":"07/Jun/2024:12:13:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.225","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"26acb41139458997d7e222e9c8b4fc4c"} device-1 | {"level":"info","message":"POST /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/websocket 200 220ms","method":"POST","requestID":"26acb41139458997d7e222e9c8b4fc4c","responseTime":220,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:13:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a1a77ef2-bbd2-4a93-b120-650842466599/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.132","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0a6c29a14c0b7532a6df63f57ad4b359"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/a1a77ef2-bbd2-4a93-b120-650842466599/websocket 200 124ms","method":"POST","requestID":"0a6c29a14c0b7532a6df63f57ad4b359","responseTime":124,"status":200,"url":"/devices/a1a77ef2-bbd2-4a93-b120-650842466599/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599' connected"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1f99e9241e6506ca4378bfea4785c734","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983254,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} 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":"1f99e9241e6506ca4378bfea4785c734"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:35.200527088Z"}]},"request_id":"e112424c-d46b-4f5b-8ec9-4238f8f31f8f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762418.7519283} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f99e9241e6506ca4378bfea4785c734"},"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":"07/Jun/2024:12:13:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f99e9241e6506ca4378bfea4785c734"} device-1 | {"level":"info","message":"GET /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9? 200 63ms","method":"GET","requestID":"1f99e9241e6506ca4378bfea4785c734","responseTime":63,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"567bb4efada450d7085185aabcd9254c","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:38536","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.884301,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","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":"567bb4efada450d7085185aabcd9254c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"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:38536","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.846887,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8502cac9-d5a7-4286-838e-2ff04223f414","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8502cac9-d5a7-4286-838e-2ff04223f414","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} 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":"5f6e4a10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} 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":"5f6e9830-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:52292","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52292","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003088,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8502cac9-d5a7-4286-838e-2ff04223f414","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8502cac9-d5a7-4286-838e-2ff04223f414","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:34.834500497Z"}]},"request_id":"7d675252-0789-4c3e-8842-0062f24a6f73","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.0113032} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:35.200527088Z"}]},"request_id":"20fc1c6f-c2ba-4c78-87c3-40c51d9608fd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.0141957} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f6e4a10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f6e9830-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.924854,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9? 200 58ms","method":"GET","requestID":"5f6e9830-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} 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":"5f6e4a10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8502cac9-d5a7-4286-838e-2ff04223f414? 200 63ms","method":"GET","requestID":"5f6e4a10-24c7-11ef-b353-d1d4e8136596","responseTime":63,"status":200,"url":"/devices/8502cac9-d5a7-4286-838e-2ff04223f414?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"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:38536","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969601,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} 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":"5f964470-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:52292","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52292","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.059295,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f969290-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.830488,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b531be0-3fb6-4b71-87f2-cf93ca52d6de","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.2767522} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f972ed0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:35.200527088Z"}]},"request_id":"6ae94ad9-5cf6-4b28-818a-bcb0d311877c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.3122616} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f969290-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:34.429394685Z"}]},"request_id":"ea737509-37a6-4281-bfcd-3bfe7025e7c7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.3196368} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f964470-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"POST /devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling 200 61ms","method":"POST","requestID":"5f972ed0-24c7-11ef-b353-d1d4e8136596","responseTime":61,"status":200,"url":"/devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3455ce3-6550-420c-b1b9-2603b5ca51ed","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.3604326} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.529076,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fa16800-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff493abd7-96ae-45e3-be85-0cb84d1338db#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff493abd7-96ae-45e3-be85-0cb84d1338db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"2508fdf1-e9f2-4c22-8245-66c7964ec3c3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.3711765} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6d701c7-f28d-432c-b3da-01c27eb08794","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.3717363} device-1 | {"level":"info","message":"GET /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9? 200 119ms","method":"GET","requestID":"5f969290-24c7-11ef-b353-d1d4e8136596","responseTime":119,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a1a77ef2-bbd2-4a93-b120-650842466599? 200 123ms","method":"GET","requestID":"5f964470-24c7-11ef-b353-d1d4e8136596","responseTime":123,"status":200,"url":"/devices/a1a77ef2-bbd2-4a93-b120-650842466599?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling 200 53ms","method":"POST","requestID":"5fa16800-24c7-11ef-b353-d1d4e8136596","responseTime":53,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 73ms","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":"567bb4efada450d7085185aabcd9254c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":73}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 658ms","method":"POST","requestID":"567bb4efada450d7085185aabcd9254c","responseTime":658,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.666","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"567bb4efada450d7085185aabcd9254c"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ca4efbe-81da-4785-8103-c557ee33e9ea","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.4648106} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":40.387924,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5faed580-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":44}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOX0.Bu6LK1-kBYZXc4A3yn5buia_-bKQ5WuPxjShAl2WVf8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 44ms","method":"GET","requestID":"dc6ec0e1ed8fcab1f312cd682d228450","responseTime":44,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling 200 62ms","method":"POST","requestID":"5faed580-24c7-11ef-b353-d1d4e8136596","responseTime":62,"status":200,"url":"/devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.942329,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762419,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOX0.Bu6LK1-kBYZXc4A3yn5buia_-bKQ5WuPxjShAl2WVf8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc6ec0e1ed8fcab1f312cd682d228450"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:34.429394685Z"}]},"request_id":"9b5a4b5b-5953-445b-88c0-6afaa75f3ca5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.5188775} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc6ec0e1ed8fcab1f312cd682d228450"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6af0952-3063-4ef7-8b17-64729a958b60","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.5219147} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.942602,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5fb935c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a1a77ef2-bbd2-4a93-b120-650842466599? 200 101ms","method":"GET","requestID":"dc6ec0e1ed8fcab1f312cd682d228450","responseTime":101,"status":200,"url":"/devices/a1a77ef2-bbd2-4a93-b120-650842466599?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling 200 94ms","method":"POST","requestID":"5fb935c0-24c7-11ef-b353-d1d4e8136596","responseTime":94,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling"} gateway-1 | {"time_local":"07/Jun/2024:12:13:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a1a77ef2-bbd2-4a93-b120-650842466599? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc6ec0e1ed8fcab1f312cd682d228450"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"7e267b83-ddc3-4acf-a4ca-5500053f856d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c49967c7-43bc-47f4-920e-56b777f37755"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"22cb0718-084d-4b0d-9cc5-fb2c61188d2c"}]},"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/a1a77ef2-bbd2-4a93-b120-650842466599"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOX0.Bu6LK1-kBYZXc4A3yn5buia_-bKQ5WuPxjShAl2WVf8","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.981091,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eeba28e47372b2022ce2df2dea8f79a7","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762418,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOH0.iePmUQkoABO0DhINQ4HuzFfjJb1otMKVv_rdzja8dLc"} 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":"5fc850f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953111,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762419,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQxOX0.Bu6LK1-kBYZXc4A3yn5buia_-bKQ5WuPxjShAl2WVf8"} 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":"eeba28e47372b2022ce2df2dea8f79a7"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:35.200527088Z"}]},"request_id":"3c8269d0-2373-4992-8f19-94b4d75e9b9e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.6403751} 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":"eeba28e47372b2022ce2df2dea8f79a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"f6476c48-c96e-46b6-bd25-a1075a09962d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.6754465} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6a501df-ab57-4712-b281-4327e3326ba5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.6768954} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9? 200 61ms","method":"GET","requestID":"eeba28e47372b2022ce2df2dea8f79a7","responseTime":61,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eeba28e47372b2022ce2df2dea8f79a7"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"5fc850f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} 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/cb531107-6ccd-4e7a-84f2-3f12c11d24db'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db'"} 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 164ms","method":"POST","requestID":"5fc850f0-24c7-11ef-b353-d1d4e8136596","responseTime":164,"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/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4dc900e-61ab-4b02-aba4-4af923e74b51","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762419.9863796} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.456602,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling 200 42ms","method":"POST","requestID":"60009f00-24c7-11ef-b353-d1d4e8136596","responseTime":42,"status":200,"url":"/devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60009f00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.228708,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"814ea0d5-5a07-4476-94b3-f4f2e42d5150","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762420.058498} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"600cfb10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} device-1 | {"level":"info","message":"POST /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling 200 63ms","method":"POST","requestID":"600cfb10-24c7-11ef-b353-d1d4e8136596","responseTime":63,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cb531107-6ccd-4e7a-84f2-3f12c11d24db","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5ce8a851c577f860e38f5ec27994f8c7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ce8a851c577f860e38f5ec27994f8c7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"5ce8a851c577f860e38f5ec27994f8c7","responseTime":54,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cb531107-6ccd-4e7a-84f2-3f12c11d24db","statusDeviceA":"connected","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1a439c4cb98a53a5cf12a0499cfc9ff0","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/a1a77ef2-bbd2-4a93-b120-650842466599"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9"}],"status":"new","type":"webrtc","url":"http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"1a439c4cb98a53a5cf12a0499cfc9ff0","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"1a439c4cb98a53a5cf12a0499cfc9ff0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMH0.TB4NXdZ_kJpfz2tBHoIo0jPok3Ak3Vx0SR-yteAKDfg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7e652e24b45cc27b81cceac2d233d1d1","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.938869,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762420,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMH0.TB4NXdZ_kJpfz2tBHoIo0jPok3Ak3Vx0SR-yteAKDfg"} 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":"7e652e24b45cc27b81cceac2d233d1d1"},"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/cb531107-6ccd-4e7a-84f2-3f12c11d24db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cb531107-6ccd-4e7a-84f2-3f12c11d24db","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c9a059f962b01705322f5053b376a1cd","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"} experiment-1 | {"level":"info","message":"GET /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db 200 89ms","method":"GET","requestID":"7e652e24b45cc27b81cceac2d233d1d1","responseTime":89,"status":200,"url":"/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"} 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/a1a77ef2-bbd2-4a93-b120-650842466599"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"07/Jun/2024:12:13:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e652e24b45cc27b81cceac2d233d1d1"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cb531107-6ccd-4e7a-84f2-3f12c11d24db","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"10baa5c60a549a47c420cf2002149225","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 14ms","method":"POST","requestID":"c9a059f962b01705322f5053b376a1cd","responseTime":14,"status":200,"url":"/callbacks/experiment"} 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/a1a77ef2-bbd2-4a93-b120-650842466599"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.070","http_referrer":"","http_user_agent":"node-fetch","requestID":"c9a059f962b01705322f5053b376a1cd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.313408,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcb531107-6ccd-4e7a-84f2-3f12c11d24db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0bad987-b0b9-478a-a4ed-f4414f2792c3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762420.514698} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db","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 10ms","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":"6054d980-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMH0.TB4NXdZ_kJpfz2tBHoIo0jPok3Ak3Vx0SR-yteAKDfg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a5a21ce7ceb59a0ba9122b9c3058d524","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db 200 54ms","method":"GET","requestID":"6054d980-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.93102,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762420,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMH0.TB4NXdZ_kJpfz2tBHoIo0jPok3Ak3Vx0SR-yteAKDfg"} 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":"a5a21ce7ceb59a0ba9122b9c3058d524"},"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/f493abd7-96ae-45e3-be85-0cb84d1338db"} experiment-1 | {"level":"info","message":"GET /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db 200 48ms","method":"GET","requestID":"a5a21ce7ceb59a0ba9122b9c3058d524","responseTime":48,"status":200,"url":"/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"} gateway-1 | {"time_local":"07/Jun/2024:12:13:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a5a21ce7ceb59a0ba9122b9c3058d524"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"10baa5c60a549a47c420cf2002149225","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"10baa5c60a549a47c420cf2002149225"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMH0.TB4NXdZ_kJpfz2tBHoIo0jPok3Ak3Vx0SR-yteAKDfg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1967e40fc9a4c3210bd3e2b1bc71a731","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.41095,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52292","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52292","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":29.29517,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a9b33c3-dd51-465d-80bb-368a66c1edc3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762420.628062} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6066b3d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":39}} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762420,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMH0.TB4NXdZ_kJpfz2tBHoIo0jPok3Ak3Vx0SR-yteAKDfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","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":"1967e40fc9a4c3210bd3e2b1bc71a731"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling 200 57ms","method":"POST","requestID":"6066b3d0-24c7-11ef-b353-d1d4e8136596","responseTime":57,"status":200,"url":"/devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.045131,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b0b27d8-0e37-44ec-a1da-5038a273358d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762420.7198143} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60749680-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling 200 20ms","method":"POST","requestID":"60749680-24c7-11ef-b353-d1d4e8136596","responseTime":20,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":28.509535,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762420,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMH0.TB4NXdZ_kJpfz2tBHoIo0jPok3Ak3Vx0SR-yteAKDfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","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":"607755a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cb531107-6ccd-4e7a-84f2-3f12c11d24db","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6a8b632af92f8f0cedf76b5ae4456ba0","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"33f288881c5d377f0f4801e7828832b7","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/a1a77ef2-bbd2-4a93-b120-650842466599"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db"}}},"level":"info","message":"received a callback"} 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/a1a77ef2-bbd2-4a93-b120-650842466599"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"cb531107-6ccd-4e7a-84f2-3f12c11d24db","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcb531107-6ccd-4e7a-84f2-3f12c11d24db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcb531107-6ccd-4e7a-84f2-3f12c11d24db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"8d48c7fb-7241-4b8a-ab43-59901be2ea89","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762420.917567} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9bf724b9-3ff3-46f0-8f07-af0bb7e259be","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762420.9223404} 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":"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":"607755a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":156}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db 204 306ms","method":"DELETE","requestID":"607755a0-24c7-11ef-b353-d1d4e8136596","responseTime":306,"status":204,"url":"/peerconnections/cb531107-6ccd-4e7a-84f2-3f12c11d24db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:41Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1a77ef2-bbd2-4a93-b120-650842466599","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2aa0610-c98d-48a1-bb62-7ddb2ad9bafc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762421.1077104} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.487812,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60afcac0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling 200 54ms","method":"POST","requestID":"60afcac0-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/devices/a1a77ef2-bbd2-4a93-b120-650842466599/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:41Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.367417,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:41Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb8a3d791-45df-4ae9-a6b9-e345653953d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fcb152e9-55b1-4569-9e9f-5dce659207f9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762421.171808} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60b87d50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling 200 56ms","method":"POST","requestID":"60b87d50-24c7-11ef-b353-d1d4e8136596","responseTime":56,"status":200,"url":"/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff493abd7-96ae-45e3-be85-0cb84d1338db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff493abd7-96ae-45e3-be85-0cb84d1338db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"d666f10e-0171-4d01-858d-600b68df7140","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762421.2813983} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0343288e-fce9-48df-81dc-90d23b12f133","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762421.2828848} authorization-1 | {"level":"info","message":"POST /relations/update 200 192ms","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":"1967e40fc9a4c3210bd3e2b1bc71a731"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":192}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"} gateway-1 | {"time_local":"07/Jun/2024:12:13:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1967e40fc9a4c3210bd3e2b1bc71a731"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMX0.mE97emr3DIslF9BR_8zgB6EWCAkyLm2E5n17dq3rdy0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 36ms","method":"GET","requestID":"cf32fdc329b29ba9408267883fc08a42","responseTime":36,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:13:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2989","request_time":"3.360","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b6977fe10f77bbd5406bfc06bf477c4c"} experiment-1 | {"level":"info","message":"DELETE /experiments/f493abd7-96ae-45e3-be85-0cb84d1338db 204 1140ms","method":"DELETE","requestID":"1967e40fc9a4c3210bd3e2b1bc71a731","responseTime":1141,"status":204,"url":"/experiments/f493abd7-96ae-45e3-be85-0cb84d1338db"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"07/Jun/2024:12:13:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2650","request_time":"3.413","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b1feeef3de546546f792f566d84a764c"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:41Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.955839,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762421,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMX0.mE97emr3DIslF9BR_8zgB6EWCAkyLm2E5n17dq3rdy0"} 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":"cf32fdc329b29ba9408267883fc08a42"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 942ms","method":"POST","requestID":"6a8b632af92f8f0cedf76b5ae4456ba0","responseTime":942,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.953","http_referrer":"","http_user_agent":"node-fetch","requestID":"6a8b632af92f8f0cedf76b5ae4456ba0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 978ms","method":"POST","requestID":"33f288881c5d377f0f4801e7828832b7","responseTime":978,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.992","http_referrer":"","http_user_agent":"node-fetch","requestID":"33f288881c5d377f0f4801e7828832b7"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b8a3d791-45df-4ae9-a6b9-e345653953d9' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a1a77ef2-bbd2-4a93-b120-650842466599' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1698f3df-dcbd-4791-b34b-9a231267da9b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.0679781} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf32fdc329b29ba9408267883fc08a42"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"751d8e1c-ffe8-4276-9401-928e7fe690bb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.075223} 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":"cf32fdc329b29ba9408267883fc08a42"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"b9123ebf-bb42-4b9b-8102-ec6d067910f1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.0869608} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1172168-a46e-4f74-a3a3-9f5568e78f08","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.0872474} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf32fdc329b29ba9408267883fc08a42"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.086936779Z"}]},"request_id":"a282ba92-6004-4341-b086-68dcb8fccae6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.0971298} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf32fdc329b29ba9408267883fc08a42"},"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":"07/Jun/2024:12:13: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.390","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf32fdc329b29ba9408267883fc08a42"} device-1 | {"level":"info","message":"POST /devices? 201 345ms","method":"POST","requestID":"cf32fdc329b29ba9408267883fc08a42","responseTime":345,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMn0.ayAaYKbqsRq5Kmq7_i5fWxZBF-RGYRiP9E9nCTa5AOg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"786bfbb995d5403fe4d4b7b0b0c35443","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:42Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.938049,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762422,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyMn0.ayAaYKbqsRq5Kmq7_i5fWxZBF-RGYRiP9E9nCTa5AOg"} 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":"786bfbb995d5403fe4d4b7b0b0c35443"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6e822177-12e4-4678-b0cc-bdbb81293c2c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.444022} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"786bfbb995d5403fe4d4b7b0b0c35443"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d07caceb-4531-4f56-a4a3-b52d7f8ca416","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.4516075} 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":"786bfbb995d5403fe4d4b7b0b0c35443"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"9bf81b50-66dc-40f4-b23b-77ad1cfbcd57","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.4713802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7292e825-0d7b-402c-b8a6-54fd795bfaa8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.4726775} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"786bfbb995d5403fe4d4b7b0b0c35443"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.471348852Z"}]},"request_id":"6cc8b531-71a5-47dd-92de-6455caee30f9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762422.5068343} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.409","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"786bfbb995d5403fe4d4b7b0b0c35443"} device-1 | {"level":"info","message":"POST /devices? 201 404ms","method":"POST","requestID":"786bfbb995d5403fe4d4b7b0b0c35443","responseTime":404,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"786bfbb995d5403fe4d4b7b0b0c35443"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":29}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNH0._5VxGdYyKoxZ-pks2aWse5QtTtE0dfN2auCipCFKQ70","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba6689420b654f324a634609791a22cb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96593,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762424,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNH0._5VxGdYyKoxZ-pks2aWse5QtTtE0dfN2auCipCFKQ70"} 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":"ba6689420b654f324a634609791a22cb"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.086936779Z"}]},"request_id":"b97c5b7b-6d25-42ab-91ca-585865bb8222","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762424.2679641} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba6689420b654f324a634609791a22cb"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc7d5f76-8de8-4ecf-a41b-237ad70bdc61","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762424.277299} 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":"ba6689420b654f324a634609791a22cb"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.086936779Z"}]},"request_id":"ccbe22a9-43dc-42ef-ab30-04b7197286ac","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762424.3255143} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c 200 102ms","method":"PATCH","requestID":"ba6689420b654f324a634609791a22cb","responseTime":102,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c"} gateway-1 | {"time_local":"07/Jun/2024:12:13:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.109","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ba6689420b654f324a634609791a22cb"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba6689420b654f324a634609791a22cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNH0._5VxGdYyKoxZ-pks2aWse5QtTtE0dfN2auCipCFKQ70","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"18b74ad4e8cbd51644b0844aad82c8f4","responseTime":8,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800484,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762424,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNH0._5VxGdYyKoxZ-pks2aWse5QtTtE0dfN2auCipCFKQ70"} 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":"18b74ad4e8cbd51644b0844aad82c8f4"},"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":"07/Jun/2024:12:13:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.363","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"18b74ad4e8cbd51644b0844aad82c8f4"} device-1 | {"level":"info","message":"POST /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/websocket 200 358ms","method":"POST","requestID":"18b74ad4e8cbd51644b0844aad82c8f4","responseTime":358,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"31a00c924d683fdb0bffd30851d40b1c","responseTime":27,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:13:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"31a00c924d683fdb0bffd30851d40b1c"} device-1 | {"level":"info","message":"OPTIONS /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/websocket 200 2ms","method":"OPTIONS","requestID":"31a00c924d683fdb0bffd30851d40b1c","responseTime":2,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 14ms","method":"GET","requestID":"97f5bbe28cbb6e1fb726f0c71be1bb5b","responseTime":14,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:45Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982448,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762425,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY"} 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":"97f5bbe28cbb6e1fb726f0c71be1bb5b"},"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/8f77ad52-78d3-470e-8771-b4138a1a48a9/websocket 200 20ms","method":"POST","requestID":"97f5bbe28cbb6e1fb726f0c71be1bb5b","responseTime":20,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:13:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"97f5bbe28cbb6e1fb726f0c71be1bb5b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"60445909e636cfafbf1c44a98e4d58ca","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:45Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897482,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762425,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY"} 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":"60445909e636cfafbf1c44a98e4d58ca"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.086936779Z"}]},"request_id":"359f2b83-f12f-4b84-a243-45b9b09df822","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762425.5387442} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60445909e636cfafbf1c44a98e4d58ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c? 200 43ms","method":"GET","requestID":"60445909e636cfafbf1c44a98e4d58ca","responseTime":43,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60445909e636cfafbf1c44a98e4d58ca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b9f75f34c7eba138c2e77c1f23dde397","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:45Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947408,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762425,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY"} 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":"b9f75f34c7eba138c2e77c1f23dde397"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.471348852Z"}]},"request_id":"a2ec0ed8-17c9-432f-8e03-fa8a6521047f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762425.5946157} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9f75f34c7eba138c2e77c1f23dde397"},"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/8f77ad52-78d3-470e-8771-b4138a1a48a9? 200 20ms","method":"GET","requestID":"b9f75f34c7eba138c2e77c1f23dde397","responseTime":20,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9? 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":"b9f75f34c7eba138c2e77c1f23dde397"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c19e240a10b8b714b4f1c37936cbd327","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:38536","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:45Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.873254,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762425,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY"} 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":"c19e240a10b8b714b4f1c37936cbd327"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"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:38536","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003555,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762425,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"639ba010-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} authorization-1 | {"client_addr":"127.0.0.1:46500","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.086936779Z"}]},"request_id":"44cc340b-7e79-4ff5-9edd-72b2fc431351","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762426.0473392} 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":"639ba010-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:46500","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":5.809996,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762425,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"639bee30-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":45}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c? 200 74ms","method":"GET","requestID":"639ba010-24c7-11ef-b353-d1d4e8136596","responseTime":74,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.471348852Z"}]},"request_id":"f85bd9eb-4ccc-4b4c-b67b-6109cea31985","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762426.076408} 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":"639bee30-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9? 200 79ms","method":"GET","requestID":"639bee30-24c7-11ef-b353-d1d4e8136596","responseTime":79,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.060353,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"client_addr":"127.0.0.1:46500","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"client_addr":"127.0.0.1:46500","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.246163,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:46Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762425,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63e07140-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762425,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 88ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63e0bf60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":88}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":12.376378,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1347fb02-c3ff-4887-ab67-da83b55130e5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762426.5065846} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 56ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63e10d80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":56}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.471348852Z"}]},"request_id":"dbadd8c3-678d-4418-8882-0ce3365c9cb7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762426.5528173} device-1 | {"level":"info","message":"POST /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling 200 98ms","method":"POST","requestID":"63e10d80-24c7-11ef-b353-d1d4e8136596","responseTime":98,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63e0bf60-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.086936779Z"}]},"request_id":"98f11b8b-1ef1-4cb7-a563-013bd9e0073c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762426.5543141} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63e07140-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9? 200 119ms","method":"GET","requestID":"63e0bf60-24c7-11ef-b353-d1d4e8136596","responseTime":119,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c? 200 126ms","method":"GET","requestID":"63e07140-24c7-11ef-b353-d1d4e8136596","responseTime":126,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c?"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.080194,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27d43c48-de8a-4137-ad5d-1bdf945b2ee8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762426.5780344} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63f11310-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.836774,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a5ac507-f8e2-404f-976c-4e85a6e2bfe3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762426.6089087} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63f3d230-24c7-11ef-b353-d1d4e8136596"},"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/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling 200 60ms","method":"POST","requestID":"63f11310-24c7-11ef-b353-d1d4e8136596","responseTime":60,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling 200 54ms","method":"POST","requestID":"63f3d230-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.53585,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3eded3de-3a08-4e58-b483-3ee04833631f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762426.6644936} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63fc36a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"84e77793-e19c-4863-90a5-b536b5080300"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"570a32a7-64b9-41d5-aa8d-54f150ca5025"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dc164e58-625e-4de4-b313-fa5f865530a2"}]},"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/8f77ad52-78d3-470e-8771-b4138a1a48a9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"POST /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling 200 48ms","method":"POST","requestID":"63fc36a0-24c7-11ef-b353-d1d4e8136596","responseTime":48,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.910192,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762425,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyNX0.6dtwOxB0knmb8jJVSCeErbJc5SR-27AYSVeTeQOlLZY"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","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":"6403b0b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4b3d1026-558a-47c6-92ce-ea6715acda95#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4b3d1026-558a-47c6-92ce-ea6715acda95","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"ed18acd9-7799-43e5-80ea-2dda61665a32","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762427.5675592} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e36629dc-9c5c-46fe-900e-c8b73b384b14","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762427.5690248} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"b002df6c-0fcf-4e0a-98f1-56a581ff67ff","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762427.58444} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"035d7203-74c0-42b9-b4e8-a9ea2f49d4ab","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762427.5856714} authorization-1 | {"level":"info","message":"POST /relations/update 200 1049ms","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":"c19e240a10b8b714b4f1c37936cbd327"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":1049}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 1994ms","method":"POST","requestID":"c19e240a10b8b714b4f1c37936cbd327","responseTime":1994,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"2.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c19e240a10b8b714b4f1c37936cbd327"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyN30.imjQhZs3IkWx5IymqvfJIaKCfJIZHaRe1GxaG7Wyor4","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"4ce751b254a2a0b1868a4921a07d8e95","responseTime":9,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 891ms","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":"6403b0b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":891}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:47Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900481,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762427,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyN30.imjQhZs3IkWx5IymqvfJIaKCfJIZHaRe1GxaG7Wyor4"} 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":"4ce751b254a2a0b1868a4921a07d8e95"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.086936779Z"}]},"request_id":"13f83891-94da-4887-b69f-9d53025a588c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762427.688547} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce751b254a2a0b1868a4921a07d8e95"},"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/ff57d89f-94b5-4b28-808f-501bf9bf14a9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9'"} 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 1329ms","method":"POST","requestID":"6403b0b0-24c7-11ef-b353-d1d4e8136596","responseTime":1329,"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":"07/Jun/2024:12:13:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.383","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ce751b254a2a0b1868a4921a07d8e95"} device-1 | {"level":"info","message":"GET /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c? 200 378ms","method":"GET","requestID":"4ce751b254a2a0b1868a4921a07d8e95","responseTime":378,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyOH0.ehFrSoJ08F1zQB2KjAd1RxZQpooH88DKjyZb1HCKnrM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 43ms","method":"GET","requestID":"70bf011067064718380b48314de1a153","responseTime":43,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:48Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884684,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762428,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQyOH0.ehFrSoJ08F1zQB2KjAd1RxZQpooH88DKjyZb1HCKnrM"} 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":"70bf011067064718380b48314de1a153"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:42.471348852Z"}]},"request_id":"319e8d04-60b0-4d2c-86f5-0b3a3db1e799","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762428.1196663} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9? 200 68ms","method":"GET","requestID":"70bf011067064718380b48314de1a153","responseTime":68,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70bf011067064718380b48314de1a153"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"07/Jun/2024:12:13:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70bf011067064718380b48314de1a153"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:48Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.958015,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f350fc1-01b2-44c1-99b4-1e0f15ad2fd2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762428.194974} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64e97cd0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling 200 49ms","method":"POST","requestID":"64e97cd0-24c7-11ef-b353-d1d4e8136596","responseTime":49,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41b997ad-9244-4eb2-929f-cb4dbe0836f7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762428.252942} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.865914,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64f11df0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling 200 58ms","method":"POST","requestID":"64f11df0-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling"} device-1 | {"data":{"peerconnection":"ff57d89f-94b5-4b28-808f-501bf9bf14a9","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/ff57d89f-94b5-4b28-808f-501bf9bf14a9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ff57d89f-94b5-4b28-808f-501bf9bf14a9","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c989c763e04b3fd5440d666a574705a2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"07/Jun/2024:12:13:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"c989c763e04b3fd5440d666a574705a2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"c989c763e04b3fd5440d666a574705a2","responseTime":43,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9'"} device-1 | {"data":{"peerconnection":"ff57d89f-94b5-4b28-808f-501bf9bf14a9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ff57d89f-94b5-4b28-808f-501bf9bf14a9","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ff57d89f-94b5-4b28-808f-501bf9bf14a9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e714199852bf7c14f7ae6f97f535dbea","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.202452,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:50Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fff57d89f-94b5-4b28-808f-501bf9bf14a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc1e91a6-ccab-4970-ab61-079049b91010","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762430.5003014} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9","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":"664933e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9 200 255ms","method":"GET","requestID":"664933e0-24c7-11ef-b353-d1d4e8136596","responseTime":255,"status":200,"url":"/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 348ms","method":"POST","requestID":"e714199852bf7c14f7ae6f97f535dbea","responseTime":348,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.353","http_referrer":"","http_user_agent":"node-fetch","requestID":"e714199852bf7c14f7ae6f97f535dbea"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.008905,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:50Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f80ac8cc-925e-4012-ac9a-798f8a8e972d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762430.8088205} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66785a30-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling 200 20ms","method":"POST","requestID":"66785a30-24c7-11ef-b353-d1d4e8136596","responseTime":20,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.208408,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:50Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e67c8764-9be4-46fb-8a2d-5e48dcb93b77","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762430.8654041} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"667fd440-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling 200 23ms","method":"POST","requestID":"667fd440-24c7-11ef-b353-d1d4e8136596","responseTime":23,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzMX0.uYVbixbihTJeEvD9wPzavASdcpMH1IuRkiCkY3AT6Rk","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"} authentication-1 | {"level":"info","message":"GET /auth 200 14ms","method":"GET","requestID":"3cadb7df4716cf89d0000cda9149a70f","responseTime":14,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.983371,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762431,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzMX0.uYVbixbihTJeEvD9wPzavASdcpMH1IuRkiCkY3AT6Rk"} 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":"3cadb7df4716cf89d0000cda9149a70f"},"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/4b3d1026-558a-47c6-92ce-ea6715acda95"} gateway-1 | {"time_local":"07/Jun/2024:12:13:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4b3d1026-558a-47c6-92ce-ea6715acda95 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3cadb7df4716cf89d0000cda9149a70f"} experiment-1 | {"level":"info","message":"GET /experiments/4b3d1026-558a-47c6-92ce-ea6715acda95 200 44ms","method":"GET","requestID":"3cadb7df4716cf89d0000cda9149a70f","responseTime":44,"status":200,"url":"/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzMX0.uYVbixbihTJeEvD9wPzavASdcpMH1IuRkiCkY3AT6Rk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"d54d51100b1c7a5f84f7d02295f33851","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.958254,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762431,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzMX0.uYVbixbihTJeEvD9wPzavASdcpMH1IuRkiCkY3AT6Rk"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","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":"d54d51100b1c7a5f84f7d02295f33851"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.565988,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762431,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzMX0.uYVbixbihTJeEvD9wPzavASdcpMH1IuRkiCkY3AT6Rk"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","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":"66a4e870-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":45}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ff57d89f-94b5-4b28-808f-501bf9bf14a9","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d51971a4b1b78d007ca15f245ef7ad9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b8e87d0d776e1d6ec149acf292fa421a","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/8f77ad52-78d3-470e-8771-b4138a1a48a9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fff57d89f-94b5-4b28-808f-501bf9bf14a9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fff57d89f-94b5-4b28-808f-501bf9bf14a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"8ac04b1a-bb33-42e9-9dfe-9f8786788270","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762431.228517} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0da7ec13-b0f1-423d-a95d-73ed188a90f6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762431.2299647} authorization-1 | {"level":"info","message":"POST /relations/update 200 60ms","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":"66a4e870-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":60}} device-1 | {"data":{"peerconnection":"ff57d89f-94b5-4b28-808f-501bf9bf14a9","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/ff57d89f-94b5-4b28-808f-501bf9bf14a9 204 192ms","method":"DELETE","requestID":"66a4e870-24c7-11ef-b353-d1d4e8136596","responseTime":192,"status":204,"url":"/peerconnections/ff57d89f-94b5-4b28-808f-501bf9bf14a9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.502757,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f77ad52-78d3-470e-8771-b4138a1a48a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f113158-d7f8-4048-8287-4bca05525183","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762431.3724277} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66ca71d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling 200 40ms","method":"POST","requestID":"66ca71d0-24c7-11ef-b353-d1d4e8136596","responseTime":40,"status":200,"url":"/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.482055,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:51Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9edef0ec-c2f9-4361-a285-b9b8eb352c4c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26a77791-e41b-4aef-a02c-915e1d53e03c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762431.3907745} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66d10180-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling 200 43ms","method":"POST","requestID":"66d10180-24c7-11ef-b353-d1d4e8136596","responseTime":43,"status":200,"url":"/devices/9edef0ec-c2f9-4361-a285-b9b8eb352c4c/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4b3d1026-558a-47c6-92ce-ea6715acda95': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4b3d1026-558a-47c6-92ce-ea6715acda95","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"5fce35a3-78ea-45aa-a8aa-f6c1402f15ec","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762431.8043413} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3c5dcc6-25bf-42a9-96a4-e5fa5eaa7ecc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762431.8057358} authorization-1 | {"level":"info","message":"POST /relations/update 200 470ms","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":"d54d51100b1c7a5f84f7d02295f33851"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":470}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"} gateway-1 | {"time_local":"07/Jun/2024:12:13:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4b3d1026-558a-47c6-92ce-ea6715acda95 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.420","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d54d51100b1c7a5f84f7d02295f33851"} gateway-1 | {"time_local":"07/Jun/2024:12:13:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"7.787","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"23152fda7650f3e74ec5a85c6b93b1c4"} experiment-1 | {"level":"info","message":"DELETE /experiments/4b3d1026-558a-47c6-92ce-ea6715acda95 204 1455ms","method":"DELETE","requestID":"d54d51100b1c7a5f84f7d02295f33851","responseTime":1455,"status":204,"url":"/experiments/4b3d1026-558a-47c6-92ce-ea6715acda95"} 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/9edef0ec-c2f9-4361-a285-b9b8eb352c4c' closed"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:52Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.034356,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762432,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzMn0.mSBDEyoo4-eGN1cTG7Z3Ozfnvt_KVk6JeaXMKqgUA00"} 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":"de2d5106ac6f73f19871b6b70135b96e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzMn0.mSBDEyoo4-eGN1cTG7Z3Ozfnvt_KVk6JeaXMKqgUA00","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"de2d5106ac6f73f19871b6b70135b96e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1390ms","method":"POST","requestID":"5d51971a4b1b78d007ca15f245ef7ad9","responseTime":1390,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"7.070","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c7462de89f2b551cd8a49c624652e752"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1387ms","method":"POST","requestID":"b8e87d0d776e1d6ec149acf292fa421a","responseTime":1387,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.395","http_referrer":"","http_user_agent":"node-fetch","requestID":"b8e87d0d776e1d6ec149acf292fa421a"} gateway-1 | {"time_local":"07/Jun/2024:12:13:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.397","http_referrer":"","http_user_agent":"node-fetch","requestID":"5d51971a4b1b78d007ca15f245ef7ad9"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8f77ad52-78d3-470e-8771-b4138a1a48a9' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c367665c-d46d-43eb-8544-94e21e674c04","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.165426} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de2d5106ac6f73f19871b6b70135b96e"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e19c7da-2cc5-4d76-bcaa-74c586843bce","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.197302} 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":"de2d5106ac6f73f19871b6b70135b96e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"e687d0d9-ad42-43fc-bc5d-ae7923765db7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.241293} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f5ada36-c8a8-47da-8f4d-a3f429d55d48","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.2425344} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","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":"de2d5106ac6f73f19871b6b70135b96e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.241270156Z"}]},"request_id":"8383bae6-06da-4dbe-ae2b-1e88cd0edd74","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.2493224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de2d5106ac6f73f19871b6b70135b96e"},"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 725ms","method":"POST","requestID":"de2d5106ac6f73f19871b6b70135b96e","responseTime":725,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.731","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de2d5106ac6f73f19871b6b70135b96e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzM30._IqgsVd_gVivBRUR_yHCxa2YORGp04L_y1PevzrwM_I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"515cd4ada9765ec6cbf40b94e3283f85","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:53Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.943387,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762433,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzM30._IqgsVd_gVivBRUR_yHCxa2YORGp04L_y1PevzrwM_I"} 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":"515cd4ada9765ec6cbf40b94e3283f85"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e5f0df6c-bcc9-41ae-9f84-17502c7b5d60","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.3062103} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"515cd4ada9765ec6cbf40b94e3283f85"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0a148e4-3f25-4cec-a724-7e7c109b4abd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.3426733} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"515cd4ada9765ec6cbf40b94e3283f85"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":33}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"47df1ee4-57d7-4e10-a5d5-78fb645cd75b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.6359975} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"496b749e-c76f-4380-89ba-614c6325768a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.6370797} authorization-1 | {"level":"info","message":"POST /relations/update 200 299ms","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":"515cd4ada9765ec6cbf40b94e3283f85"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":299}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.635974325Z"}]},"request_id":"cec62296-d358-4b54-a336-87b99388a9e4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762433.6741085} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"515cd4ada9765ec6cbf40b94e3283f85"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"07/Jun/2024:12:13:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.423","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"515cd4ada9765ec6cbf40b94e3283f85"} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 417ms","method":"POST","requestID":"515cd4ada9765ec6cbf40b94e3283f85","responseTime":417,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"adf4dc743e33f59b3b158de5303bd623","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:13:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dc604695-fed2-412e-a370-3e7abc65d53a/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":"adf4dc743e33f59b3b158de5303bd623"} device-1 | {"level":"info","message":"OPTIONS /devices/dc604695-fed2-412e-a370-3e7abc65d53a/websocket 200 1ms","method":"OPTIONS","requestID":"adf4dc743e33f59b3b158de5303bd623","responseTime":1,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzNn0.ORwV5Fjp6br-3WC_diKzsnD-XyGW80HD7g-CWSEXJXw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b6b541feacca3badb2bb06aa9bbae843","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:56Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855181,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762436,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzNn0.ORwV5Fjp6br-3WC_diKzsnD-XyGW80HD7g-CWSEXJXw"} 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":"b6b541feacca3badb2bb06aa9bbae843"},"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":"07/Jun/2024:12:13:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dc604695-fed2-412e-a370-3e7abc65d53a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.056","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b6b541feacca3badb2bb06aa9bbae843"} device-1 | {"level":"info","message":"POST /devices/dc604695-fed2-412e-a370-3e7abc65d53a/websocket 200 51ms","method":"POST","requestID":"b6b541feacca3badb2bb06aa9bbae843","responseTime":51,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"42ba5debc714767fe4bec5e849ee3b9b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:13:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/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":"42ba5debc714767fe4bec5e849ee3b9b"} device-1 | {"level":"info","message":"OPTIONS /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/websocket 200 2ms","method":"OPTIONS","requestID":"42ba5debc714767fe4bec5e849ee3b9b","responseTime":2,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzNn0.ORwV5Fjp6br-3WC_diKzsnD-XyGW80HD7g-CWSEXJXw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b1d6153d89d76fcd1c7b67c1a69e6d09","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:56Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855453,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762436,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzNn0.ORwV5Fjp6br-3WC_diKzsnD-XyGW80HD7g-CWSEXJXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1d6153d89d76fcd1c7b67c1a69e6d09"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:13:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b1d6153d89d76fcd1c7b67c1a69e6d09"} device-1 | {"level":"info","message":"POST /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/websocket 200 50ms","method":"POST","requestID":"b1d6153d89d76fcd1c7b67c1a69e6d09","responseTime":50,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d3920a004b9418c026dc067d0b66c587","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953121,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762437,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y"} 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":"d3920a004b9418c026dc067d0b66c587"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.241270156Z"}]},"request_id":"5baf6744-926f-4b2e-84f2-153ba90e72f6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762437.180601} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3920a004b9418c026dc067d0b66c587"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"07/Jun/2024:12:13:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1? 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":"d3920a004b9418c026dc067d0b66c587"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1? 200 16ms","method":"GET","requestID":"d3920a004b9418c026dc067d0b66c587","responseTime":16,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ac66a9049117d82dc5d74b8f6ba183bb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.943107,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762437,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y"} 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":"ac66a9049117d82dc5d74b8f6ba183bb"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.635974325Z"}]},"request_id":"4745bef8-19f3-4d51-ad8e-5c8596d44557","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762437.2276995} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac66a9049117d82dc5d74b8f6ba183bb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dc604695-fed2-412e-a370-3e7abc65d53a? 200 48ms","method":"GET","requestID":"ac66a9049117d82dc5d74b8f6ba183bb","responseTime":48,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc604695-fed2-412e-a370-3e7abc65d53a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac66a9049117d82dc5d74b8f6ba183bb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authentication-1 | {"level":"info","message":"GET /auth 200 39ms","method":"GET","requestID":"ba57cd93cbf799636e5c291965386547","responseTime":39,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.912382,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762437,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","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":"ba57cd93cbf799636e5c291965386547"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"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:38536","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.116442,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762437,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y"} 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":"6a6cecf0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762437,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y"} 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":"6a70e490-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.105027,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.241270156Z"}]},"request_id":"954b63a4-d45c-42b3-bec6-38da752f4283","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762437.4817295} 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":"6a6cecf0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.635974325Z"}]},"request_id":"4c6f0522-b8eb-4884-866c-055d1eac0961","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762437.483318} 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":"6a70e490-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1? 200 56ms","method":"GET","requestID":"6a6cecf0-24c7-11ef-b353-d1d4e8136596","responseTime":56,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dc604695-fed2-412e-a370-3e7abc65d53a? 200 33ms","method":"GET","requestID":"6a70e490-24c7-11ef-b353-d1d4e8136596","responseTime":33,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189061,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922557,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762437,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y"} 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":"6aad0330-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762437,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y"} 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":"6ab0fad0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:59822","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.635974325Z"}]},"request_id":"c0e1e87d-0438-49a5-835a-0b1bc7efd27d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762437.9085186} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.241270156Z"}]},"request_id":"e5698611-d1f7-48e9-b6b1-4a25ccbb0600","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762437.908736} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20d464f0-4378-4240-914e-24b360a7c790","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762437.9104612} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6aad0330-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"level":"info","message":"POST /relations/query 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ab0fad0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":42}} authorization-1 | {"client_addr":"127.0.0.1:59822","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":36.482101,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 55ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ab148f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":55}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dc604695-fed2-412e-a370-3e7abc65d53a? 200 125ms","method":"GET","requestID":"6ab0fad0-24c7-11ef-b353-d1d4e8136596","responseTime":125,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1? 200 152ms","method":"GET","requestID":"6aad0330-24c7-11ef-b353-d1d4e8136596","responseTime":152,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling 200 125ms","method":"POST","requestID":"6ab148f0-24c7-11ef-b353-d1d4e8136596","responseTime":125,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.183832,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.249056,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5c48cc8-6763-4fb1-af0e-32fe343e9dd4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762438.0257359} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bc635e9-3ad5-4d21-bbde-6806bb478214","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762438.0309024} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ac4d0f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ac59440-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling 200 61ms","method":"POST","requestID":"6ac4d0f0-24c7-11ef-b353-d1d4e8136596","responseTime":61,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling 200 61ms","method":"POST","requestID":"6ac59440-24c7-11ef-b353-d1d4e8136596","responseTime":61,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.214085,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1441dc9-55d0-4e2d-b319-39a4745d5d55","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762438.0894628} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6acee310-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"3fd66a67-2946-4138-ac1b-090a63091160"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"70886223-5ef2-4077-b545-0c16f5adeb85"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"b6431e87-62a1-4652-8ed5-05a81a780127"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"POST /devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling 200 49ms","method":"POST","requestID":"6acee310-24c7-11ef-b353-d1d4e8136596","responseTime":49,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.813097,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762437,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzN30.63ORnnyp-SRGEDViwg4e-5oyGlbGGV3JD6-Zp8uGJ5Y"} 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":"6ad68430-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d54ad73-0fd6-4afd-a158-34ee8d3e62eb#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d54ad73-0fd6-4afd-a158-34ee8d3e62eb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"4e5cc5d9-b533-4302-a8f9-23e8c611925a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762438.7556305} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48fd521d-d899-4fcc-9cf8-a309e5026752","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762438.7561543} authorization-1 | {"level":"info","message":"POST /relations/update 200 860ms","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":"ba57cd93cbf799636e5c291965386547"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":860}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"a4b97c67-c306-4a5f-852d-c9d4fcfca935","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762438.7592833} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a57b2ba-81e5-4f32-8f0a-4b8b5272c3bb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762438.759715} authorization-1 | {"level":"info","message":"POST /relations/update 200 611ms","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":"6ad68430-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":611}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"07/Jun/2024:12:13:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"1.560","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba57cd93cbf799636e5c291965386547"} experiment-1 | {"level":"info","message":"POST /experiments? 201 1554ms","method":"POST","requestID":"ba57cd93cbf799636e5c291965386547","responseTime":1554,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzOH0.GSad1-S1fNUV53NYmp7QEUsZcMHCgxxHvdYCHVummLg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"03390bf5ab61e0edb73a9eb770cd5f2e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.95925,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762438,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzOH0.GSad1-S1fNUV53NYmp7QEUsZcMHCgxxHvdYCHVummLg"} 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":"03390bf5ab61e0edb73a9eb770cd5f2e"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.241270156Z"}]},"request_id":"cf19cb91-73ee-4eb8-9cae-e3d07656f525","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762438.828347} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03390bf5ab61e0edb73a9eb770cd5f2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":36}} 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/27f71320-b2c8-4818-8c20-004c97648c06'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06'"} 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 908ms","method":"POST","requestID":"6ad68430-24c7-11ef-b353-d1d4e8136596","responseTime":908,"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":"07/Jun/2024:12:13:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.259","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03390bf5ab61e0edb73a9eb770cd5f2e"} device-1 | {"level":"info","message":"GET /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1? 200 255ms","method":"GET","requestID":"03390bf5ab61e0edb73a9eb770cd5f2e","responseTime":255,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzOX0.qSvGrfTbD2abpfIatbip_Sl29d0D5MK-X8xSSOfC40I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9cdc5f53eaf48beda921dbfbb71db6cf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80977,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762439,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQzOX0.qSvGrfTbD2abpfIatbip_Sl29d0D5MK-X8xSSOfC40I"} 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":"9cdc5f53eaf48beda921dbfbb71db6cf"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:13:53.635974325Z"}]},"request_id":"6c4830eb-2fc9-4b18-a54f-855e4dcb1978","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762439.122244} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cdc5f53eaf48beda921dbfbb71db6cf"},"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/dc604695-fed2-412e-a370-3e7abc65d53a? 200 59ms","method":"GET","requestID":"9cdc5f53eaf48beda921dbfbb71db6cf","responseTime":59,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a?"} gateway-1 | {"time_local":"07/Jun/2024:12:13:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc604695-fed2-412e-a370-3e7abc65d53a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9cdc5f53eaf48beda921dbfbb71db6cf"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"27f71320-b2c8-4818-8c20-004c97648c06","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"62f594ef6b64a011342e4c237ab167df","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"62f594ef6b64a011342e4c237ab167df","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:13: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.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"62f594ef6b64a011342e4c237ab167df"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"data":{"peerconnection":"27f71320-b2c8-4818-8c20-004c97648c06","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.059552,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:59Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"612deb20-9494-4009-8ad6-a6cb4a1fe4b7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762439.7035813} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bc57810-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"peerconnection":"27f71320-b2c8-4818-8c20-004c97648c06","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling 200 52ms","method":"POST","requestID":"6bc57810-24c7-11ef-b353-d1d4e8136596","responseTime":52,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:13:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.078111,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:13:59Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"130d3ba8-789c-4006-aaac-91e69680cd96","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762439.758829} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bcd8e60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"27f71320-b2c8-4818-8c20-004c97648c06","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling 200 311ms","method":"POST","requestID":"6bcd8e60-24c7-11ef-b353-d1d4e8136596","responseTime":311,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"638e3db973de3480af0a763c1e9a0a1e","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F27f71320-b2c8-4818-8c20-004c97648c06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef3dd9ca-2027-4789-8724-3f2f7dc1455a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762440.0795653} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":27.197013,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","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":"6bfed790-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/27f71320-b2c8-4818-8c20-004c97648c06 200 53ms","method":"GET","requestID":"6bfed790-24c7-11ef-b353-d1d4e8136596","responseTime":53,"status":200,"url":"/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 358ms","method":"POST","requestID":"638e3db973de3480af0a763c1e9a0a1e","responseTime":358,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:00Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.563679,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04d53afb-982b-42b0-84d9-722d154ee678","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762440.4713252} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c3aa810-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.419","http_referrer":"","http_user_agent":"node-fetch","requestID":"638e3db973de3480af0a763c1e9a0a1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling 200 18ms","method":"POST","requestID":"6c3aa810-24c7-11ef-b353-d1d4e8136596","responseTime":18,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:00Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.354031,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efba61ae-d150-4272-a43a-dac3e53ce9d3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762440.4929228} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c3ddc60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling 200 41ms","method":"POST","requestID":"6c3ddc60-24c7-11ef-b353-d1d4e8136596","responseTime":41,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0M30.BIfwXAnPJ7MslUA3SqoRBHKEMGS3OHdIuwH4DjQfW6U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e712577884e08c621e095daaa482195c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.711556,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762443,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0M30.BIfwXAnPJ7MslUA3SqoRBHKEMGS3OHdIuwH4DjQfW6U"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","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":"e712577884e08c621e095daaa482195c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"} experiment-1 | {"level":"info","message":"GET /experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb 200 71ms","method":"GET","requestID":"e712577884e08c621e095daaa482195c","responseTime":71,"status":200,"url":"/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"} gateway-1 | {"time_local":"07/Jun/2024:12:14:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e712577884e08c621e095daaa482195c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0M30.BIfwXAnPJ7MslUA3SqoRBHKEMGS3OHdIuwH4DjQfW6U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7adef7d796709d0873e09fae45bfc918","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.076469,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762443,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0M30.BIfwXAnPJ7MslUA3SqoRBHKEMGS3OHdIuwH4DjQfW6U"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","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":"7adef7d796709d0873e09fae45bfc918"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.980808,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762443,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0M30.BIfwXAnPJ7MslUA3SqoRBHKEMGS3OHdIuwH4DjQfW6U"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","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":"6de3eb40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"27f71320-b2c8-4818-8c20-004c97648c06","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"edd575275f68cd85a9c8afd27dc1f854","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"efe733d0890982ff57bac404ff9b0f0b","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F27f71320-b2c8-4818-8c20-004c97648c06': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F27f71320-b2c8-4818-8c20-004c97648c06","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"dec39173-9d95-434d-9cbb-d5155736a5a0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762443.351322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7cbc22e9-436c-45d0-a9dc-ebd3b4b5b62b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762443.3519213} authorization-1 | {"level":"info","message":"POST /relations/update 200 55ms","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":"6de3eb40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":55}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/27f71320-b2c8-4818-8c20-004c97648c06 204 153ms","method":"DELETE","requestID":"6de3eb40-24c7-11ef-b353-d1d4e8136596","responseTime":153,"status":204,"url":"/peerconnections/27f71320-b2c8-4818-8c20-004c97648c06"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:04Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d331403-0572-4327-b8b9-3b159f03e98b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762444.1507075} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d54ad73-0fd6-4afd-a158-34ee8d3e62eb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d54ad73-0fd6-4afd-a158-34ee8d3e62eb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"9169f03d-3dfb-49b1-9597-ba499e2c3159","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762444.1546142} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5c4074b-276c-4b4a-8a9a-25a8a9d91ebc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762444.1554441} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7adef7d796709d0873e09fae45bfc918"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":9.875819,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling 200 56ms","method":"POST","requestID":"6e6b43b0-24c7-11ef-b353-d1d4e8136596","responseTime":56,"status":200,"url":"/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e6b43b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:04Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc604695-fed2-412e-a370-3e7abc65d53a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6bd235a3-0796-4c3c-8f24-afa2375343c5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762444.2063887} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.645293,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling 200 18ms","method":"POST","requestID":"6e744460-24c7-11ef-b353-d1d4e8136596","responseTime":18,"status":200,"url":"/devices/dc604695-fed2-412e-a370-3e7abc65d53a/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e744460-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"} gateway-1 | {"time_local":"07/Jun/2024:12:14:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.413","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7adef7d796709d0873e09fae45bfc918"} experiment-1 | {"level":"info","message":"DELETE /experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb 204 1409ms","method":"DELETE","requestID":"7adef7d796709d0873e09fae45bfc918","responseTime":1409,"status":204,"url":"/experiments/0d54ad73-0fd6-4afd-a158-34ee8d3e62eb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1233ms","method":"POST","requestID":"edd575275f68cd85a9c8afd27dc1f854","responseTime":1233,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1202ms","method":"POST","requestID":"efe733d0890982ff57bac404ff9b0f0b","responseTime":1202,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.247","http_referrer":"","http_user_agent":"node-fetch","requestID":"edd575275f68cd85a9c8afd27dc1f854"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.243","http_referrer":"","http_user_agent":"node-fetch","requestID":"efe733d0890982ff57bac404ff9b0f0b"} gateway-1 | {"time_local":"07/Jun/2024:12:14:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2975","request_time":"7.828","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"16e6cc76ac484a7f266cc06a96fa79ca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0NH0.OMi1pC8YtIgCk0SiDTIjxYCmALG-wlshZstBfHYv-AA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d5cd9f75bd48fa8fa0f2fd2093091a93","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:04Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.129823,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762444,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0NH0.OMi1pC8YtIgCk0SiDTIjxYCmALG-wlshZstBfHYv-AA"} 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":"d5cd9f75bd48fa8fa0f2fd2093091a93"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} gateway-1 | {"time_local":"07/Jun/2024:12:14:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2973","request_time":"7.769","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"27a753e6a6702cda5e6c1d4a08241604"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dc604695-fed2-412e-a370-3e7abc65d53a' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/53e6d94c-c61b-4972-a2c9-4f7d9ffde8e1' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"42109ba7-eb06-4c6e-9d13-d2817682b134","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762444.9039361} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5cd9f75bd48fa8fa0f2fd2093091a93"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf0a533c-5807-48c5-83bb-9f84b11ac1c9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762444.910565} 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":"d5cd9f75bd48fa8fa0f2fd2093091a93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"1be6dc21-ac45-410f-bc08-7bfb26932e7a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762445.2188244} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"341a077a-5e59-4af2-b8ea-7a503726669a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762445.2202718} authorization-1 | {"level":"info","message":"POST /relations/update 200 328ms","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":"d5cd9f75bd48fa8fa0f2fd2093091a93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":328}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.218800213Z"}]},"request_id":"fc8c6ebf-dfd9-4745-ab80-03fddf0e31d0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762445.2741356} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.668","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5cd9f75bd48fa8fa0f2fd2093091a93"} device-1 | {"level":"info","message":"POST /devices? 201 657ms","method":"POST","requestID":"d5cd9f75bd48fa8fa0f2fd2093091a93","responseTime":657,"status":201,"url":"/devices?"} 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":"d5cd9f75bd48fa8fa0f2fd2093091a93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0NX0.xUsVm04RxKtXnM0x8vYxzjLEZ0M9ANHZqnKdKt_DgVw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7496e2d94f4acd497492795550df0084","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:05Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.000906,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762445,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0NX0.xUsVm04RxKtXnM0x8vYxzjLEZ0M9ANHZqnKdKt_DgVw"} 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":"7496e2d94f4acd497492795550df0084"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6e02e31c-e7e1-4335-a6ea-4a14785f43b7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762445.3889074} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7496e2d94f4acd497492795550df0084"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9801dfbe-caaf-4b00-9ffc-d979cb00c10e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762445.3980453} 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":"7496e2d94f4acd497492795550df0084"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"2e1aba1f-1b45-4c3d-8d1c-e1d3afee5cad","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762445.413691} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ece26099-ea51-4c95-a9f2-96362610624e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762445.4149516} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7496e2d94f4acd497492795550df0084"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.413665223Z"}]},"request_id":"4c7778c0-d0da-4a57-bfa4-0d101d12a653","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762445.4480171} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 167ms","method":"POST","requestID":"7496e2d94f4acd497492795550df0084","responseTime":167,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7496e2d94f4acd497492795550df0084"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7496e2d94f4acd497492795550df0084"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0N30.q9qZPbzvWk32dp0PABcr7POCBW27FTnxs8eEI5foKMQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"637976d6aa115cde851f4b3deb4210e5","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920989,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762447,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0N30.q9qZPbzvWk32dp0PABcr7POCBW27FTnxs8eEI5foKMQ"} 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":"637976d6aa115cde851f4b3deb4210e5"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.413665223Z"}]},"request_id":"81d8d940-635f-4e65-9641-5469cbe78ab7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762447.267536} 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":"637976d6aa115cde851f4b3deb4210e5"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"067d4b0c-cd1b-4c20-ba6e-8fc6621511e5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762447.2774074} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"637976d6aa115cde851f4b3deb4210e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/47741477-5aff-467e-9172-62c3f3fee8d7 200 194ms","method":"PATCH","requestID":"637976d6aa115cde851f4b3deb4210e5","responseTime":194,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.413665223Z"}]},"request_id":"1c607797-3e3b-4ea3-853b-3b7f27cf3ead","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762447.438249} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"637976d6aa115cde851f4b3deb4210e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"07/Jun/2024:12:14:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/47741477-5aff-467e-9172-62c3f3fee8d7 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.225","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"637976d6aa115cde851f4b3deb4210e5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0N30.q9qZPbzvWk32dp0PABcr7POCBW27FTnxs8eEI5foKMQ","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"bbde7452dc3c61707e30cf222de998bf","responseTime":8,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983101,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762447,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0N30.q9qZPbzvWk32dp0PABcr7POCBW27FTnxs8eEI5foKMQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bbde7452dc3c61707e30cf222de998bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/47741477-5aff-467e-9172-62c3f3fee8d7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.074","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bbde7452dc3c61707e30cf222de998bf"} device-1 | {"level":"info","message":"POST /devices/47741477-5aff-467e-9172-62c3f3fee8d7/websocket 200 63ms","method":"POST","requestID":"bbde7452dc3c61707e30cf222de998bf","responseTime":63,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"07/Jun/2024:12:14:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/613c7f4c-1c02-4e99-823e-890948e4c292/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":"c7cbe65af7d908f6872906863d707276"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c7cbe65af7d908f6872906863d707276","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/613c7f4c-1c02-4e99-823e-890948e4c292/websocket 200 1ms","method":"OPTIONS","requestID":"c7cbe65af7d908f6872906863d707276","responseTime":1,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fee52697547ed535df1bd7f08ab560a8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919121,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762448,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w"} 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":"fee52697547ed535df1bd7f08ab560a8"},"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/613c7f4c-1c02-4e99-823e-890948e4c292/websocket 200 290ms","method":"POST","requestID":"fee52697547ed535df1bd7f08ab560a8","responseTime":290,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:14:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/613c7f4c-1c02-4e99-823e-890948e4c292/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.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":"fee52697547ed535df1bd7f08ab560a8"} device-1 | {"level":"info","message":"device 'http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b4260de5875ca33478751d1f2d20a578","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.924479,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762448,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w"} 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":"b4260de5875ca33478751d1f2d20a578"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.218800213Z"}]},"request_id":"7e65b04f-5d28-4495-82b0-a2ac998af8f4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762448.604329} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/613c7f4c-1c02-4e99-823e-890948e4c292? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4260de5875ca33478751d1f2d20a578"} device-1 | {"level":"info","message":"GET /devices/613c7f4c-1c02-4e99-823e-890948e4c292? 200 45ms","method":"GET","requestID":"b4260de5875ca33478751d1f2d20a578","responseTime":45,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4260de5875ca33478751d1f2d20a578"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896937,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762448,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w"} authentication-1 | {"level":"info","message":"GET /auth 200 44ms","method":"GET","requestID":"9ca2e7be1f911909b5d94c642a7cf7cd","responseTime":44,"status":200,"url":"/auth"} 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":"9ca2e7be1f911909b5d94c642a7cf7cd"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.413665223Z"}]},"request_id":"f063868c-dccd-4f3b-bb48-2ae16a1d6a6a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762448.671701} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/47741477-5aff-467e-9172-62c3f3fee8d7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ca2e7be1f911909b5d94c642a7cf7cd"} device-1 | {"level":"info","message":"GET /devices/47741477-5aff-467e-9172-62c3f3fee8d7? 200 60ms","method":"GET","requestID":"9ca2e7be1f911909b5d94c642a7cf7cd","responseTime":60,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /relations/query 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ca2e7be1f911909b5d94c642a7cf7cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":33}} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"cda816b1e32ebd1e96f7384adf7c4e4f","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:38536","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.857387,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762448,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w"} 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":"cda816b1e32ebd1e96f7384adf7c4e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"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:38536","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:09Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.943652,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762448,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71660d20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762448,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71665b40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":44}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.218800213Z"}]},"request_id":"79916a14-616d-4f0d-b877-8b21cd01c4c2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762449.1827404} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/613c7f4c-1c02-4e99-823e-890948e4c292? 200 87ms","method":"GET","requestID":"71660d20-24c7-11ef-b353-d1d4e8136596","responseTime":87,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71660d20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"client_addr":"127.0.0.1:54444","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54444","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":5.287721,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:09Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.413665223Z"}]},"request_id":"9108f352-6f1f-4562-92e9-a8d5f978b72a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762449.2319534} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/47741477-5aff-467e-9172-62c3f3fee8d7? 200 99ms","method":"GET","requestID":"71665b40-24c7-11ef-b353-d1d4e8136596","responseTime":99,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Attempting to lock booking for experiment"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71665b40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.926859,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762448,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w"} 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":"72184620-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.218800213Z"}]},"request_id":"a456fabf-72e1-4d0b-bc06-dcd603412678","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.3231683} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} 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":"72184620-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920714,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762448,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w"} device-1 | {"level":"info","message":"GET /devices/613c7f4c-1c02-4e99-823e-890948e4c292? 200 28ms","method":"GET","requestID":"72184620-24c7-11ef-b353-d1d4e8136596","responseTime":28,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292?"} 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":"721b2c50-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.413665223Z"}]},"request_id":"fb579841-35a8-4aea-b5b9-2bbf7aacd709","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.3386295} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"721b2c50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/47741477-5aff-467e-9172-62c3f3fee8d7? 200 23ms","method":"GET","requestID":"721b2c50-24c7-11ef-b353-d1d4e8136596","responseTime":23,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling 200 22ms","method":"POST","requestID":"721d4f30-24c7-11ef-b353-d1d4e8136596","responseTime":22,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.140865,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bdf6d22-07b4-477e-9d20-fe18f3e36ef2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.3541522} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"721d4f30-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.254231,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54444","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54444","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.286202,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71025895-ded1-4bda-aa53-6c4923f440e6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.3868272} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9a291b7-03ce-4e61-8d05-d38592cbaec3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.3934288} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling 200 58ms","method":"POST","requestID":"72231b90-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 49ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72231b90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":49}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 49ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"722390c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":49}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling 200 104ms","method":"POST","requestID":"722390c0-24c7-11ef-b353-d1d4e8136596","responseTime":104,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa6240126-bde3-4518-9ed4-93d03b8f31db#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa6240126-bde3-4518-9ed4-93d03b8f31db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"5414e132-fd6b-4a4d-8f2b-222ed7fef31b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.4588382} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4573c6e5-9e03-40c4-b80b-109c8642ec95","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.485332} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"07/Jun/2024:12:14:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"1.791","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cda816b1e32ebd1e96f7384adf7c4e4f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 1753ms","method":"POST","requestID":"cda816b1e32ebd1e96f7384adf7c4e4f","responseTime":1753,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 102ms","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":"cda816b1e32ebd1e96f7384adf7c4e4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":102}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7dadbb10-9b4a-4be4-89ff-1c4b7ce80511","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.5086956} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.245542,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1MH0.LUAEuuQ7wANCN6npNySygPPLzn5w4yKZsYeNiTYu3P0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8e39e70324691a26aae7cbd1d0f78277","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7233e470-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling 200 30ms","method":"POST","requestID":"7233e470-24c7-11ef-b353-d1d4e8136596","responseTime":30,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"ef35de69-21ee-4d25-93fb-2a814b961c27"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"e92edc62-8c3e-4208-b4f4-f9b384956194"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"eb8fe606-3111-4a1b-a234-9c8c8f3a3077"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.177271,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762450,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1MH0.LUAEuuQ7wANCN6npNySygPPLzn5w4yKZsYeNiTYu3P0"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e39e70324691a26aae7cbd1d0f78277"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.218800213Z"}]},"request_id":"78ddefca-da90-41dd-be23-82d8e0b86762","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.5542395} 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":"8e39e70324691a26aae7cbd1d0f78277"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.912006,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762448,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ0OH0.hQL9kjsAJCEObxUracjhlWq1ubEazzXgzy4iHrCwU7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","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":"723d8160-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/613c7f4c-1c02-4e99-823e-890948e4c292? 200 52ms","method":"GET","requestID":"8e39e70324691a26aae7cbd1d0f78277","responseTime":52,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/613c7f4c-1c02-4e99-823e-890948e4c292? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e39e70324691a26aae7cbd1d0f78277"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1MH0.LUAEuuQ7wANCN6npNySygPPLzn5w4yKZsYeNiTYu3P0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eb56157facc564f834f4e8b41ec64890","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990682,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762450,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1MH0.LUAEuuQ7wANCN6npNySygPPLzn5w4yKZsYeNiTYu3P0"} 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":"eb56157facc564f834f4e8b41ec64890"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:05.413665223Z"}]},"request_id":"d52ac630-de7f-44b0-91b6-1e08c4e69e22","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.618928} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb56157facc564f834f4e8b41ec64890"},"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/47741477-5aff-467e-9172-62c3f3fee8d7? 200 21ms","method":"GET","requestID":"eb56157facc564f834f4e8b41ec64890","responseTime":21,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/47741477-5aff-467e-9172-62c3f3fee8d7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb56157facc564f834f4e8b41ec64890"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"6bf26968-d1db-4252-bd2d-5f791d913652","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.630219} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3310fa45-d397-49af-bd2b-dc1301fbd26e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.6314619} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"723d8160-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} 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/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c'"} 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 123ms","method":"POST","requestID":"723d8160-24c7-11ef-b353-d1d4e8136596","responseTime":123,"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/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.002695,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66ccfa1c-d954-4306-bcef-ea52857ccd52","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.795888} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72622060-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling 200 21ms","method":"POST","requestID":"72622060-24c7-11ef-b353-d1d4e8136596","responseTime":21,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.271369,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:10Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c09e6715-86e9-4695-97a9-88df12297f37","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762450.8176394} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"726554b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling 200 50ms","method":"POST","requestID":"726554b0-24c7-11ef-b353-d1d4e8136596","responseTime":50,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling"} device-1 | {"data":{"peerconnection":"cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","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/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"87d8fd6349e14dbbe3c6737941c51ef8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"87d8fd6349e14dbbe3c6737941c51ef8","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"87d8fd6349e14dbbe3c6737941c51ef8"} device-1 | {"data":{"peerconnection":"cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"43a155b12001b361129b7707200f258a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:13Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":6.705262,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:13Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4fca31d2-9196-46b8-a0e3-ac1b186a09f1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762453.1540174} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","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 40ms","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":"73c97890-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c 200 52ms","method":"GET","requestID":"73c97890-24c7-11ef-b353-d1d4e8136596","responseTime":52,"status":200,"url":"/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.183","http_referrer":"","http_user_agent":"node-fetch","requestID":"43a155b12001b361129b7707200f258a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 179ms","method":"POST","requestID":"43a155b12001b361129b7707200f258a","responseTime":179,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:13Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.014375,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:13Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f755515d-42e6-4c1a-88ac-16220de3a2e1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762453.323387} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling 200 26ms","method":"POST","requestID":"73e2f400-24c7-11ef-b353-d1d4e8136596","responseTime":26,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73e2f400-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:13Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":9.713136,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:13Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6e1e198-6182-42d7-8c28-aa2c8855badf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762453.3807354} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73eb7f80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling 200 60ms","method":"POST","requestID":"73eb7f80-24c7-11ef-b353-d1d4e8136596","responseTime":60,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1NX0.mLluOxxwpyhfsOkklNiBjjLaYFh0NJWep5rnYk-S7c8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb99b0996724f8ba50927a705e1538c7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.885689,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762455,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1NX0.mLluOxxwpyhfsOkklNiBjjLaYFh0NJWep5rnYk-S7c8"} 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":"eb99b0996724f8ba50927a705e1538c7"},"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/a6240126-bde3-4518-9ed4-93d03b8f31db"} gateway-1 | {"time_local":"07/Jun/2024:12:14:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a6240126-bde3-4518-9ed4-93d03b8f31db HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb99b0996724f8ba50927a705e1538c7"} experiment-1 | {"level":"info","message":"GET /experiments/a6240126-bde3-4518-9ed4-93d03b8f31db 200 39ms","method":"GET","requestID":"eb99b0996724f8ba50927a705e1538c7","responseTime":39,"status":200,"url":"/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1NX0.mLluOxxwpyhfsOkklNiBjjLaYFh0NJWep5rnYk-S7c8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8e683bbcd516d7f80e7051e77ea25c12","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.920557,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762455,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1NX0.mLluOxxwpyhfsOkklNiBjjLaYFh0NJWep5rnYk-S7c8"} 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":"8e683bbcd516d7f80e7051e77ea25c12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.981064,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762455,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1NX0.mLluOxxwpyhfsOkklNiBjjLaYFh0NJWep5rnYk-S7c8"} 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":"754913b0-24c7-11ef-b353-d1d4e8136596"},"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/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcebf5617-bd0d-4c39-8e06-8cd1a4fffb8c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcebf5617-bd0d-4c39-8e06-8cd1a4fffb8c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"fcfd8bbb-5a6a-4990-89be-d0e6ddb256bc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762455.7080767} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33dbc45c-f89a-4b18-8008-254cb2c6f257","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762455.709416} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","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":"754913b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":34}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"59c769651ac8942c96e7ac5ca35d7499","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"42c5333ad96a8dcffb3bd2e10b16daf9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c 204 100ms","method":"DELETE","requestID":"754913b0-24c7-11ef-b353-d1d4e8136596","responseTime":100,"status":204,"url":"/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cebf5617-bd0d-4c39-8e06-8cd1a4fffb8c"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa6240126-bde3-4518-9ed4-93d03b8f31db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa6240126-bde3-4518-9ed4-93d03b8f31db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"96bdfc8f-bfbe-450e-a088-01196d376769","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762456.8147976} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"648c32f3-f65c-4847-953c-7339f86c83c6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762456.8161387} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F613c7f4c-1c02-4e99-823e-890948e4c292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33c0f4c0-fb66-4df4-9366-f2fef0a951b3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762456.821034} authorization-1 | {"level":"info","message":"POST /relations/update 200 52ms","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":"8e683bbcd516d7f80e7051e77ea25c12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":52}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:16Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.13485,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/613c7f4c-1c02-4e99-823e-890948e4c292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75f46ee0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":43}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling 200 82ms","method":"POST","requestID":"75f46ee0-24c7-11ef-b353-d1d4e8136596","responseTime":82,"status":200,"url":"/devices/613c7f4c-1c02-4e99-823e-890948e4c292/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:16Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.91775,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47741477-5aff-467e-9172-62c3f3fee8d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f10b14ea-4668-49be-a9bd-19560ff423b8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762456.8741744} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76016730-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling 200 47ms","method":"POST","requestID":"76016730-24c7-11ef-b353-d1d4e8136596","responseTime":47,"status":200,"url":"/devices/47741477-5aff-467e-9172-62c3f3fee8d7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"} gateway-1 | {"time_local":"07/Jun/2024:12:14:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a6240126-bde3-4518-9ed4-93d03b8f31db HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.981","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e683bbcd516d7f80e7051e77ea25c12"} gateway-1 | {"time_local":"07/Jun/2024:12:14:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2247","request_time":"10.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"078ddbd0c66f68b2b87aa1063f9232c5"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/47741477-5aff-467e-9172-62c3f3fee8d7' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.992444,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762457,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1N30.l_yAW7wPzRJv3F6rjVYDjseD2VzmSv0DFodBTmtM4NI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"623aead15d9ca7237091a0446e990bba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"DELETE /experiments/a6240126-bde3-4518-9ed4-93d03b8f31db 204 2024ms","method":"DELETE","requestID":"8e683bbcd516d7f80e7051e77ea25c12","responseTime":2024,"status":204,"url":"/experiments/a6240126-bde3-4518-9ed4-93d03b8f31db"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1N30.l_yAW7wPzRJv3F6rjVYDjseD2VzmSv0DFodBTmtM4NI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"623aead15d9ca7237091a0446e990bba","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1932ms","method":"POST","requestID":"59c769651ac8942c96e7ac5ca35d7499","responseTime":1932,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1933ms","method":"POST","requestID":"42c5333ad96a8dcffb3bd2e10b16daf9","responseTime":1933,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"9.131","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e10028417c1f310a2793fba2034ab5cf"} gateway-1 | {"time_local":"07/Jun/2024:12:14:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.940","http_referrer":"","http_user_agent":"node-fetch","requestID":"59c769651ac8942c96e7ac5ca35d7499"} gateway-1 | {"time_local":"07/Jun/2024:12:14:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.939","http_referrer":"","http_user_agent":"node-fetch","requestID":"42c5333ad96a8dcffb3bd2e10b16daf9"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9bb7bef1-0b38-42cc-a828-a043009acf55","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762457.6856296} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"623aead15d9ca7237091a0446e990bba"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7ea0974-d250-4359-b0fd-f9c4ab7b0db1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762457.700382} 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":"623aead15d9ca7237091a0446e990bba"},"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/613c7f4c-1c02-4e99-823e-890948e4c292' closed"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"19dea6e7-f602-4c99-8581-05ad97014d75","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762458.0063949} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd81c704-b220-491b-a037-1b1db8774bb6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762458.0075421} authorization-1 | {"level":"info","message":"POST /relations/update 200 309ms","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":"623aead15d9ca7237091a0446e990bba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":309}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.006370218Z"}]},"request_id":"eb27a7a4-f1b2-4cb5-bd28-dd599b32eb2d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762458.0151792} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"623aead15d9ca7237091a0446e990bba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"07/Jun/2024:12:14:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.424","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"623aead15d9ca7237091a0446e990bba"} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 416ms","method":"POST","requestID":"623aead15d9ca7237091a0446e990bba","responseTime":416,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1OH0.LYdqiZci4TNVEWkDusaWrh__qnfjNTNv5XboIep3QN8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"faecfcebb42198b36b4687a3d9149b44","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:18Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.851779,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762458,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1OH0.LYdqiZci4TNVEWkDusaWrh__qnfjNTNv5XboIep3QN8"} 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":"faecfcebb42198b36b4687a3d9149b44"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6f355e9c-80ea-4bbb-95b8-06534965d314","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762458.1062384} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"faecfcebb42198b36b4687a3d9149b44"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13cd16da-67cd-49ba-a737-181614ec2f52","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762458.1136189} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"faecfcebb42198b36b4687a3d9149b44"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"15fb2864-76a1-44dd-b3bf-94e7fb41dae2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762458.14928} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ce59422-4b5f-4f55-9a46-659827ecddee","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762458.1507468} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","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":"faecfcebb42198b36b4687a3d9149b44"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":39}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.149241227Z"}]},"request_id":"2c275086-ddea-4cfb-86a9-8e81099659d1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762458.1579452} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"faecfcebb42198b36b4687a3d9149b44"},"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":"07/Jun/2024:12:14:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"faecfcebb42198b36b4687a3d9149b44"} device-1 | {"level":"info","message":"POST /devices? 201 114ms","method":"POST","requestID":"faecfcebb42198b36b4687a3d9149b44","responseTime":114,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1OX0.992w8QheucTvrQcGEvMU9TvhYqCBvfz4qeu4UgRUVsg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"9466a1e538c4bb239e6e68dc02a68f45","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:19Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997043,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762459,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1OX0.992w8QheucTvrQcGEvMU9TvhYqCBvfz4qeu4UgRUVsg"} 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":"9466a1e538c4bb239e6e68dc02a68f45"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.006370218Z"}]},"request_id":"3364948d-7219-4aad-be7c-0da16c2d9a1e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762459.8723378} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9466a1e538c4bb239e6e68dc02a68f45"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d9fd376-0820-4669-a77a-ebdbced1cee7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762459.8870134} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9466a1e538c4bb239e6e68dc02a68f45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":33}} device-1 | {"level":"info","message":"patchDevicesByDeviceId 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.006370218Z"}]},"request_id":"34cd434d-d46c-4f89-bd47-106b0fc268ef","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762459.9682598} device-1 | {"level":"info","message":"PATCH /devices/c6964059-49f3-4739-ba9a-62a1d2d34378 200 148ms","method":"PATCH","requestID":"9466a1e538c4bb239e6e68dc02a68f45","responseTime":148,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378"} gateway-1 | {"time_local":"07/Jun/2024:12:14:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c6964059-49f3-4739-ba9a-62a1d2d34378 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.206","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9466a1e538c4bb239e6e68dc02a68f45"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9466a1e538c4bb239e6e68dc02a68f45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":29}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1OX0.992w8QheucTvrQcGEvMU9TvhYqCBvfz4qeu4UgRUVsg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"241fb42fe6264fddea86fefd8207d0f9","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909469,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762459,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ1OX0.992w8QheucTvrQcGEvMU9TvhYqCBvfz4qeu4UgRUVsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"241fb42fe6264fddea86fefd8207d0f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} gateway-1 | {"time_local":"07/Jun/2024:12:14:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c6964059-49f3-4739-ba9a-62a1d2d34378/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.099","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"241fb42fe6264fddea86fefd8207d0f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/c6964059-49f3-4739-ba9a-62a1d2d34378/websocket 200 94ms","method":"POST","requestID":"241fb42fe6264fddea86fefd8207d0f9","responseTime":94,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1382b9f35e6a9d5622c9591d51d5de98","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:14:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a51553b8-5756-4c02-b213-cd77840c9b21/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":"1382b9f35e6a9d5622c9591d51d5de98"} device-1 | {"level":"info","message":"OPTIONS /devices/a51553b8-5756-4c02-b213-cd77840c9b21/websocket 200 1ms","method":"OPTIONS","requestID":"1382b9f35e6a9d5622c9591d51d5de98","responseTime":1,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f95686e442a200b71c42f72338d995d3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:21Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.833446,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762461,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM"} 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":"f95686e442a200b71c42f72338d995d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/a51553b8-5756-4c02-b213-cd77840c9b21/websocket 200 50ms","method":"POST","requestID":"f95686e442a200b71c42f72338d995d3","responseTime":50,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:14:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a51553b8-5756-4c02-b213-cd77840c9b21/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f95686e442a200b71c42f72338d995d3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"926a6c81a8b4d4ba0566131248a5b256","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:21Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.046993,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762461,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926a6c81a8b4d4ba0566131248a5b256"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.006370218Z"}]},"request_id":"ef7357c7-eade-4d60-9ef6-6e5ebd4d4d92","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762461.4053724} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c6964059-49f3-4739-ba9a-62a1d2d34378? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.078","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"926a6c81a8b4d4ba0566131248a5b256"} device-1 | {"level":"info","message":"GET /devices/c6964059-49f3-4739-ba9a-62a1d2d34378? 200 73ms","method":"GET","requestID":"926a6c81a8b4d4ba0566131248a5b256","responseTime":73,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8a54f6d961e239607c3ab8d71621fc76","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926a6c81a8b4d4ba0566131248a5b256"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:21Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.096447,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762461,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM"} 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":"8a54f6d961e239607c3ab8d71621fc76"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.149241227Z"}]},"request_id":"54d189b4-b49d-48fa-960f-8343b3938097","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762461.4320436} authorization-1 | {"level":"info","message":"POST /relations/query 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a54f6d961e239607c3ab8d71621fc76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a51553b8-5756-4c02-b213-cd77840c9b21? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a54f6d961e239607c3ab8d71621fc76"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"055852f6de945a7fdcb9f6da3d1ce1aa","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} device-1 | {"level":"info","message":"GET /devices/a51553b8-5756-4c02-b213-cd77840c9b21? 200 74ms","method":"GET","requestID":"8a54f6d961e239607c3ab8d71621fc76","responseTime":74,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21?"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:21Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.969234,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762461,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","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":"055852f6de945a7fdcb9f6da3d1ce1aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"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:38536","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38406","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.938862,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38406","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.465359,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762461,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7927ad70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":43}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762461,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7927fb90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":43}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.006370218Z"}]},"request_id":"730585fb-7245-4aa5-9719-6e6f096a251b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762462.2013621} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.149241227Z"}]},"request_id":"75ee0816-a62e-44cb-93d4-805a6fa5ba22","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762462.2040951} authorization-1 | {"level":"info","message":"POST /relations/query 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7927ad70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c6964059-49f3-4739-ba9a-62a1d2d34378? 200 97ms","method":"GET","requestID":"7927ad70-24c7-11ef-b353-d1d4e8136596","responseTime":97,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 50ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7927fb90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":50}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Attempting to lock booking for experiment"} device-1 | {"level":"info","message":"GET /devices/a51553b8-5756-4c02-b213-cd77840c9b21? 200 170ms","method":"GET","requestID":"7927fb90-24c7-11ef-b353-d1d4e8136596","responseTime":170,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923138,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38406","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38406","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960396,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762461,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM"} 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":"799f0050-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762461,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM"} authorization-1 | {"level":"info","message":"POST /authorize 200 48ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"799f2760-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":48}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.439756,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:22Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b7790cd-949b-41aa-881f-fda25588de02","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762462.951252} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"799f9c90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":42}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling 200 67ms","method":"POST","requestID":"799f9c90-24c7-11ef-b353-d1d4e8136596","responseTime":67,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.149241227Z"}]},"request_id":"55403647-5b0a-468f-b7eb-d08b7c1d2e67","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.0057914} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.006370218Z"}]},"request_id":"3de12e7b-d10b-4135-8cb4-fcc42f2bb81b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.006351} authorization-1 | {"level":"info","message":"POST /relations/query 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"799f2760-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":44}} authorization-1 | {"level":"info","message":"POST /relations/query 200 49ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"799f0050-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":49}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db285df3-3b47-4a98-a866-50bad0bf4560","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.0454218} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.357978,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79aa9910-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60493694-7a85-479f-9e55-10e5c4d39ad7#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60493694-7a85-479f-9e55-10e5c4d39ad7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"658d3bdc-fe5f-4c70-8279-a5b2839bba46","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.0521839} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6ef657a-6d04-4581-b50d-d71dcbb9520c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.053549} authorization-1 | {"level":"info","message":"POST /relations/update 200 69ms","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":"055852f6de945a7fdcb9f6da3d1ce1aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":69}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a51553b8-5756-4c02-b213-cd77840c9b21? 200 210ms","method":"GET","requestID":"799f2760-24c7-11ef-b353-d1d4e8136596","responseTime":210,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c6964059-49f3-4739-ba9a-62a1d2d34378? 200 213ms","method":"GET","requestID":"799f0050-24c7-11ef-b353-d1d4e8136596","responseTime":213,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378?"} experiment-1 | {"level":"info","message":"POST /experiments? 201 1660ms","method":"POST","requestID":"055852f6de945a7fdcb9f6da3d1ce1aa","responseTime":1660,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2M30.3gwl_SYWWF87qXpLpHhTscGzgDAHVzx7RFKSZbz3H4Q","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"07/Jun/2024:12:14:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"1.668","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"055852f6de945a7fdcb9f6da3d1ce1aa"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"93b6cf77122a6c173329edb29b190aee","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a51553b8-5756-4c02-b213-cd77840c9b21/signaling 200 151ms","method":"POST","requestID":"79aa9910-24c7-11ef-b353-d1d4e8136596","responseTime":151,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962405,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762463,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2M30.3gwl_SYWWF87qXpLpHhTscGzgDAHVzx7RFKSZbz3H4Q"} 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":"93b6cf77122a6c173329edb29b190aee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:38406","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"client_addr":"127.0.0.1:38406","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.571197,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1e03acf-180d-4a1c-a3bf-8b5ac8d12416","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.2115254} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79c85a40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":44}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.006370218Z"}]},"request_id":"e6291ff4-2b4c-4b30-a6a8-2c03431b0fb5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.2649357} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling 200 99ms","method":"POST","requestID":"79c85a40-24c7-11ef-b353-d1d4e8136596","responseTime":99,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c6964059-49f3-4739-ba9a-62a1d2d34378? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93b6cf77122a6c173329edb29b190aee"} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93b6cf77122a6c173329edb29b190aee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"GET /devices/c6964059-49f3-4739-ba9a-62a1d2d34378? 200 107ms","method":"GET","requestID":"93b6cf77122a6c173329edb29b190aee","responseTime":107,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2M30.3gwl_SYWWF87qXpLpHhTscGzgDAHVzx7RFKSZbz3H4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"41e8045ab331eaa2ae8657407f33c358","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:23Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.166101,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa863da8-38dc-4c3f-bc1a-1b195d699947","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.314752} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79d838c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899059,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762463,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2M30.3gwl_SYWWF87qXpLpHhTscGzgDAHVzx7RFKSZbz3H4Q"} 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":"41e8045ab331eaa2ae8657407f33c358"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"b1d10c42-f05d-4f3d-8a49-da6b7ede82c3"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"e5ff7435-bcd6-4f1e-be50-b9c27d4ac2e4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"628f425f-1227-47f9-8df5-5879ef5cd5ad"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"POST /devices/a51553b8-5756-4c02-b213-cd77840c9b21/signaling 200 54ms","method":"POST","requestID":"79d838c0-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:18.149241227Z"}]},"request_id":"94788be3-a5ce-400a-89b5-2cda83aa499f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.3682528} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a51553b8-5756-4c02-b213-cd77840c9b21? 200 84ms","method":"GET","requestID":"41e8045ab331eaa2ae8657407f33c358","responseTime":84,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21?"} 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":"41e8045ab331eaa2ae8657407f33c358"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:23Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.921733,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:23Z"} gateway-1 | {"time_local":"07/Jun/2024:12:14:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a51553b8-5756-4c02-b213-cd77840c9b21? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41e8045ab331eaa2ae8657407f33c358"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762461,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2MX0.nMs_KdPJE65TUi2a-YwMgEwuZ1wNqQgq94Q4Kbb_uwM"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","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":"79e0c440-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":36}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"f9fd3a1f-e100-41a6-b3cf-ab37c5f07595","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.4217513} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b83a9672-6f89-4ca6-916e-156311ae2691","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762463.4225068} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"79e0c440-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} 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/d7bfae73-a020-41ce-aab1-b1988e3b4975'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975'"} 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 393ms","method":"POST","requestID":"79e0c440-24c7-11ef-b353-d1d4e8136596","responseTime":393,"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/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:24Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89fae385-1a51-461d-9190-c1ddb453a457","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762464.1831694} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.308118,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a5c5ce0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling 200 22ms","method":"POST","requestID":"7a5c5ce0-24c7-11ef-b353-d1d4e8136596","responseTime":22,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:24Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e92bb51e-ef2a-4c27-ac79-bc2659ec4f26","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762464.2284174} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.819196,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a600660-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a51553b8-5756-4c02-b213-cd77840c9b21/signaling 200 38ms","method":"POST","requestID":"7a600660-24c7-11ef-b353-d1d4e8136596","responseTime":38,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21/signaling"} device-1 | {"data":{"peerconnection":"d7bfae73-a020-41ce-aab1-b1988e3b4975","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f95e5e066b559d7e3f203db3bae9c70","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d7bfae73-a020-41ce-aab1-b1988e3b4975","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"07/Jun/2024:12:14:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f95e5e066b559d7e3f203db3bae9c70"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"0f95e5e066b559d7e3f203db3bae9c70","responseTime":33,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21'"} device-1 | {"data":{"peerconnection":"d7bfae73-a020-41ce-aab1-b1988e3b4975","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d7bfae73-a020-41ce-aab1-b1988e3b4975","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d7bfae73-a020-41ce-aab1-b1988e3b4975","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f038d42330c075376c16d6bfc5cb3aef","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.155782,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd7bfae73-a020-41ce-aab1-b1988e3b4975","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ce576cf-77d6-4831-b968-be60bbdcef78","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762466.2816195} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975","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":"7b9d1a40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975 200 58ms","method":"GET","requestID":"7b9d1a40-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 397ms","method":"POST","requestID":"f038d42330c075376c16d6bfc5cb3aef","responseTime":397,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"07/Jun/2024:12:14:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.412","http_referrer":"","http_user_agent":"node-fetch","requestID":"f038d42330c075376c16d6bfc5cb3aef"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4018f03-19b7-4ebe-bd92-88958216a9dd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762466.6415477} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.754243,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bd408c0-24c7-11ef-b353-d1d4e8136596"},"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/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling 200 16ms","method":"POST","requestID":"7bd408c0-24c7-11ef-b353-d1d4e8136596","responseTime":16,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2Nn0.-c29gwexvm3vM2M9ZJZGAWApgzyVZ93QQmKd5BlN8No","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"327d67980fa3a4ac6e8098eb1d4596ad","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0b3172a-0371-4cfd-97d6-8b0b9fee3bf5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762466.7007442} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.031055,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bdd0970-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.926378,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762466,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2Nn0.-c29gwexvm3vM2M9ZJZGAWApgzyVZ93QQmKd5BlN8No"} 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":"327d67980fa3a4ac6e8098eb1d4596ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a51553b8-5756-4c02-b213-cd77840c9b21/signaling 200 16ms","method":"POST","requestID":"7bdd0970-24c7-11ef-b353-d1d4e8136596","responseTime":16,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"} experiment-1 | {"level":"info","message":"GET /experiments/60493694-7a85-479f-9e55-10e5c4d39ad7 200 48ms","method":"GET","requestID":"327d67980fa3a4ac6e8098eb1d4596ad","responseTime":48,"status":200,"url":"/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"} gateway-1 | {"time_local":"07/Jun/2024:12:14:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/60493694-7a85-479f-9e55-10e5c4d39ad7 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"327d67980fa3a4ac6e8098eb1d4596ad"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2Nn0.-c29gwexvm3vM2M9ZJZGAWApgzyVZ93QQmKd5BlN8No","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8795d1fbbdce91781faff9c2a0b447e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.809449,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762466,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2Nn0.-c29gwexvm3vM2M9ZJZGAWApgzyVZ93QQmKd5BlN8No"} 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":"b8795d1fbbdce91781faff9c2a0b447e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.937291,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762466,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ2Nn0.-c29gwexvm3vM2M9ZJZGAWApgzyVZ93QQmKd5BlN8No"} 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":"7be9b3a0-24c7-11ef-b353-d1d4e8136596"},"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/d7bfae73-a020-41ce-aab1-b1988e3b4975' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d7bfae73-a020-41ce-aab1-b1988e3b4975","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd7bfae73-a020-41ce-aab1-b1988e3b4975': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd7bfae73-a020-41ce-aab1-b1988e3b4975","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"46cb70ae-b526-4e6d-a9e6-85627baac5f9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762466.8327024} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"93e281e719734e52e70521926a5d92c8","responseTime":26,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ad2825e-f64f-442a-81bb-a9db736dcaff","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762466.8370335} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","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":"7be9b3a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":46}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4e6686c90d9a4646b1c99ffd927e7b94","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"d7bfae73-a020-41ce-aab1-b1988e3b4975","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/d7bfae73-a020-41ce-aab1-b1988e3b4975 204 450ms","method":"DELETE","requestID":"7be9b3a0-24c7-11ef-b353-d1d4e8136596","responseTime":450,"status":204,"url":"/peerconnections/d7bfae73-a020-41ce-aab1-b1988e3b4975"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:27Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6964059-49f3-4739-ba9a-62a1d2d34378","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e3331cb-ec0a-4fcb-ba54-c0df0b93879c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762467.2921627} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.837933,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c373760-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling 200 21ms","method":"POST","requestID":"7c373760-24c7-11ef-b353-d1d4e8136596","responseTime":21,"status":200,"url":"/devices/c6964059-49f3-4739-ba9a-62a1d2d34378/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:27Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa51553b8-5756-4c02-b213-cd77840c9b21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35bc6af1-9a69-4955-8eb8-828d85e9a5f0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762467.314943} authorization-1 | {"client_addr":"127.0.0.1:38536","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.682935,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a51553b8-5756-4c02-b213-cd77840c9b21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c3ab9d0-24c7-11ef-b353-d1d4e8136596"},"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/a51553b8-5756-4c02-b213-cd77840c9b21/signaling 200 37ms","method":"POST","requestID":"7c3ab9d0-24c7-11ef-b353-d1d4e8136596","responseTime":37,"status":200,"url":"/devices/a51553b8-5756-4c02-b213-cd77840c9b21/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60493694-7a85-479f-9e55-10e5c4d39ad7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60493694-7a85-479f-9e55-10e5c4d39ad7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"f801e1bd-1379-4a08-872f-278a19a6fa44","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762467.6004217} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3db73e8b-fed2-4ddf-9593-01ce18935380","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762467.6012938} authorization-1 | {"level":"info","message":"POST /relations/update 200 347ms","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":"b8795d1fbbdce91781faff9c2a0b447e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":347}} experiment-1 | {"data":{"error":"MutexAcquisitionError","message":"Timeout: Could not acquire the Mutex for \"60493694-7a85-479f-9e55-10e5c4d39ad7\" within the timelimit of 3000ms, please try again later","method":"POST","stack":"MutexAcquisitionError: Timeout: Could not acquire the Mutex for \"60493694-7a85-479f-9e55-10e5c4d39ad7\" within the timelimit of 3000ms, please try again later\n at MutexManager.acquire (file:///usr/local/lib/node_modules/@crosslab/service-experiment/app/methods/mutexManager.js:17:58)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CallbackHandler.handlePeerconnectionStatusChangedCallback (file:///usr/local/lib/node_modules/@crosslab/service-experiment/app/operations/callbacks/callbackHandler.js:141:29)\n at async CallbackHandler.handleCallback (file:///usr/local/lib/node_modules/@crosslab/service-experiment/app/operations/callbacks/callbackHandler.js:31:28)\n at async file:///usr/local/lib/node_modules/@crosslab/service-experiment/app/operations/callbacks/index.js:20:39","status":409,"url":"/callbacks/experiment"},"level":"error","message":"An error occurred during the handling of a request","requestID":"93e281e719734e52e70521926a5d92c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 409 3002ms","method":"POST","requestID":"93e281e719734e52e70521926a5d92c8","responseTime":3002,"status":409,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "409","body_bytes_sent":"182","request_time":"3.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"93e281e719734e52e70521926a5d92c8"} experiment-1 | {"data":{"error":"MutexAcquisitionError","message":"Timeout: Could not acquire the Mutex for \"60493694-7a85-479f-9e55-10e5c4d39ad7\" within the timelimit of 3000ms, please try again later","method":"POST","stack":"MutexAcquisitionError: Timeout: Could not acquire the Mutex for \"60493694-7a85-479f-9e55-10e5c4d39ad7\" within the timelimit of 3000ms, please try again later\n at MutexManager.acquire (file:///usr/local/lib/node_modules/@crosslab/service-experiment/app/methods/mutexManager.js:17:58)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CallbackHandler.handlePeerconnectionStatusChangedCallback (file:///usr/local/lib/node_modules/@crosslab/service-experiment/app/operations/callbacks/callbackHandler.js:141:29)\n at async CallbackHandler.handleCallback (file:///usr/local/lib/node_modules/@crosslab/service-experiment/app/operations/callbacks/callbackHandler.js:31:28)\n at async file:///usr/local/lib/node_modules/@crosslab/service-experiment/app/operations/callbacks/index.js:20:39","status":409,"url":"/callbacks/experiment"},"level":"error","message":"An error occurred during the handling of a request","requestID":"4e6686c90d9a4646b1c99ffd927e7b94"} gateway-1 | {"time_local":"07/Jun/2024:12:14:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "409","body_bytes_sent":"182","request_time":"6.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"4e6686c90d9a4646b1c99ffd927e7b94"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 409 6002ms","method":"POST","requestID":"4e6686c90d9a4646b1c99ffd927e7b94","responseTime":6002,"status":409,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"} gateway-1 | {"time_local":"07/Jun/2024:12:14:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/60493694-7a85-479f-9e55-10e5c4d39ad7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"8.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8795d1fbbdce91781faff9c2a0b447e"} experiment-1 | {"level":"info","message":"DELETE /experiments/60493694-7a85-479f-9e55-10e5c4d39ad7 204 8045ms","method":"DELETE","requestID":"b8795d1fbbdce91781faff9c2a0b447e","responseTime":8045,"status":204,"url":"/experiments/60493694-7a85-479f-9e55-10e5c4d39ad7"} gateway-1 | {"time_local":"07/Jun/2024:12:14:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2973","request_time":"14.733","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bdfe3baa880dc0bc458019b078d8056e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3NH0.BiWnECEsSVOnKG5CLtD8w8Rbp3uCxUCfOF7ZoKi3ZeI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e091b39a4e8d7623dcfb238ca908c213","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"07/Jun/2024:12:14:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2485","request_time":"13.526","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f2bc1ab983370939bb29e6523fec1af0"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:34Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.088225,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762474,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3NH0.BiWnECEsSVOnKG5CLtD8w8Rbp3uCxUCfOF7ZoKi3ZeI"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","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":"e091b39a4e8d7623dcfb238ca908c213"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c6964059-49f3-4739-ba9a-62a1d2d34378' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7bc29ea5-1807-4e09-98dc-7d46fc01e536","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762474.9131105} 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":"e091b39a4e8d7623dcfb238ca908c213"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e3d6503-3d01-4d35-9d21-038e7aaf784c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762474.9241705} 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":"e091b39a4e8d7623dcfb238ca908c213"},"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/a51553b8-5756-4c02-b213-cd77840c9b21' closed"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"68cb6e47-0c0e-4197-8420-d4a1ed6b81f6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762474.9742537} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77ced67f-3d5c-478b-ace4-e97881723f9c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762474.9750881} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","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":"e091b39a4e8d7623dcfb238ca908c213"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":46}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:34.974220151Z"}]},"request_id":"621dbfd0-1957-42c5-95bc-80a9fcfa57e3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762474.9838514} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e091b39a4e8d7623dcfb238ca908c213"} device-1 | {"level":"info","message":"POST /devices? 201 173ms","method":"POST","requestID":"e091b39a4e8d7623dcfb238ca908c213","responseTime":173,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e091b39a4e8d7623dcfb238ca908c213"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3NX0.6Eg1OTsNJ3RFMcLuOZ8nut7UchBAz0W9M5OMCOQH62M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"990cc585e2660b6494aaded9f779a6f1","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:35Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.968648,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762475,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3NX0.6Eg1OTsNJ3RFMcLuOZ8nut7UchBAz0W9M5OMCOQH62M"} 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":"990cc585e2660b6494aaded9f779a6f1"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6fbd4fc1-e0b4-4d2e-aac9-cfdb2e3cd68a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762475.096358} 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":"990cc585e2660b6494aaded9f779a6f1"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eaa90356-5873-4fce-99bc-730c35b7ad52","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762475.1060696} 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":"990cc585e2660b6494aaded9f779a6f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"01a1800b-124e-4c95-a0d5-9de3344478bc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762475.1504164} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ee8baa4-4b23-48e3-a333-a4c237bd7774","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762475.151608} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","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":"990cc585e2660b6494aaded9f779a6f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:35.150390276Z"}]},"request_id":"7cacd4a2-629f-42b3-9987-1706d8c33b92","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762475.1628926} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 140ms","method":"POST","requestID":"990cc585e2660b6494aaded9f779a6f1","responseTime":140,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"990cc585e2660b6494aaded9f779a6f1"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"990cc585e2660b6494aaded9f779a6f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"221bd03cfcc19e2d9d7b21cfc6a14000","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90003,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762476,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo"} 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":"221bd03cfcc19e2d9d7b21cfc6a14000"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:34.974220151Z"}]},"request_id":"5210c324-84af-4cfa-9a38-6b4e15d6d6f5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762476.5806231} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"221bd03cfcc19e2d9d7b21cfc6a14000"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"850798dc-a08b-4fe2-a97e-afe14fc403e0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762476.5910776} 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":"221bd03cfcc19e2d9d7b21cfc6a14000"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/9041cb64-b3c8-41b4-8a6b-be935183582c 200 43ms","method":"PATCH","requestID":"221bd03cfcc19e2d9d7b21cfc6a14000","responseTime":43,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:34.974220151Z"}]},"request_id":"b69df5aa-ae39-4ff1-accf-7fa486f6dfaf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762476.6062844} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"221bd03cfcc19e2d9d7b21cfc6a14000"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"07/Jun/2024:12:14:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9041cb64-b3c8-41b4-8a6b-be935183582c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.070","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"221bd03cfcc19e2d9d7b21cfc6a14000"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d2d5eb381a0f3349f588b04ec055f1a6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935162,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762476,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo"} 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":"d2d5eb381a0f3349f588b04ec055f1a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04a23edf569b5bc124eb4aedd27cc6de","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/9041cb64-b3c8-41b4-8a6b-be935183582c/websocket 200 34ms","method":"POST","requestID":"d2d5eb381a0f3349f588b04ec055f1a6","responseTime":34,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:14:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9041cb64-b3c8-41b4-8a6b-be935183582c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d2d5eb381a0f3349f588b04ec055f1a6"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975893,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762476,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo"} 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":"04a23edf569b5bc124eb4aedd27cc6de"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:35.150390276Z"}]},"request_id":"bbee99bf-ec74-4a87-ab71-2d9a5faa2c6c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762476.7075653} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04a23edf569b5bc124eb4aedd27cc6de"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8cb66822-5600-48a4-b9c4-186d3a49667b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762476.7149177} 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":"04a23edf569b5bc124eb4aedd27cc6de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c' connected"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:35.150390276Z"}]},"request_id":"66ab28c7-effb-4d59-8325-edfdb416e05e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762476.7781205} 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":"04a23edf569b5bc124eb4aedd27cc6de"},"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/c2382fda-e0e8-45f4-807c-5e366c86cd22 200 128ms","method":"PATCH","requestID":"04a23edf569b5bc124eb4aedd27cc6de","responseTime":128,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22"} gateway-1 | {"time_local":"07/Jun/2024:12:14:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.135","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"04a23edf569b5bc124eb4aedd27cc6de"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7b4b3809a582945d66db22292d9c43df","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.057234,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762476,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo"} 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":"7b4b3809a582945d66db22292d9c43df"},"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/c2382fda-e0e8-45f4-807c-5e366c86cd22/websocket 200 81ms","method":"POST","requestID":"7b4b3809a582945d66db22292d9c43df","responseTime":81,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:14:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.086","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7b4b3809a582945d66db22292d9c43df"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"fc00cb339967eb2fcfa1cb142ff4cca7","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.952247,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762476,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3Nn0.CtSnMR7QXUM8bMyb1mPSb3kYxnPwCM1cbXvrr81lkGo"} 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":"fc00cb339967eb2fcfa1cb142ff4cca7"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:34.974220151Z"}]},"request_id":"9f85092d-0061-4cc3-baf4-6123cb1776b7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762476.9766948} authorization-1 | {"level":"info","message":"POST /relations/query 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc00cb339967eb2fcfa1cb142ff4cca7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":38}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9041cb64-b3c8-41b4-8a6b-be935183582c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc00cb339967eb2fcfa1cb142ff4cca7"} device-1 | {"level":"info","message":"GET /devices/9041cb64-b3c8-41b4-8a6b-be935183582c? 200 75ms","method":"GET","requestID":"fc00cb339967eb2fcfa1cb142ff4cca7","responseTime":75,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2112e4b6063836816dfc1773cd4f016a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927948,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762477,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2112e4b6063836816dfc1773cd4f016a"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:35.150390276Z"}]},"request_id":"60fc141b-1ddc-4596-bcfe-16fdd6bd7414","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.0436482} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2112e4b6063836816dfc1773cd4f016a"},"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/c2382fda-e0e8-45f4-807c-5e366c86cd22? 200 41ms","method":"GET","requestID":"2112e4b6063836816dfc1773cd4f016a","responseTime":41,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2112e4b6063836816dfc1773cd4f016a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"69d939ac2a999537ca34564a7563cd99","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:40588","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.923662,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762477,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"69d939ac2a999537ca34564a7563cd99"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"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:40588","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.994097,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762477,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w"} 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":"821d8800-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:40598","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40598","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146499,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762477,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"821daf10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:34.974220151Z"}]},"request_id":"d1d31a84-c3b9-45d2-8b33-fff4c4cdbe19","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.2024343} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9041cb64-b3c8-41b4-8a6b-be935183582c? 200 32ms","method":"GET","requestID":"821d8800-24c7-11ef-b353-d1d4e8136596","responseTime":32,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c?"} 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":"821d8800-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:35.150390276Z"}]},"request_id":"2a4ac59c-4ecd-49dc-892e-5b03e1f62ee5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.2472734} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Attempting to lock booking for experiment"} device-1 | {"level":"info","message":"GET /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22? 200 84ms","method":"GET","requestID":"821daf10-24c7-11ef-b353-d1d4e8136596","responseTime":84,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"821daf10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":31}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"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:40588","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899615,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40598","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762477,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82370370-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} authorization-1 | {"client_addr":"127.0.0.1:40598","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725136,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762477,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w"} 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":"823b9750-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:34.974220151Z"}]},"request_id":"1fc5cee6-1a21-422a-874c-b4587ff8ad2b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.3963661} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"level":"info","message":"POST /relations/query 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82370370-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:35.150390276Z"}]},"request_id":"a908a97b-7e04-4a32-884c-20fac1c44d30","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.398145} authorization-1 | {"level":"info","message":"POST /relations/query 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"823b9750-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62f94fe0-536a-4a35-aa7d-10c8eb900550","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.4175794} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.507529,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} device-1 | {"level":"info","message":"GET /devices/9041cb64-b3c8-41b4-8a6b-be935183582c? 200 69ms","method":"GET","requestID":"82370370-24c7-11ef-b353-d1d4e8136596","responseTime":69,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"823ea490-24c7-11ef-b353-d1d4e8136596"},"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/c2382fda-e0e8-45f4-807c-5e366c86cd22? 200 69ms","method":"GET","requestID":"823b9750-24c7-11ef-b353-d1d4e8136596","responseTime":69,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling 200 84ms","method":"POST","requestID":"823ea490-24c7-11ef-b353-d1d4e8136596","responseTime":84,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.401012,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06f13e17-4b22-430d-807e-58fe259fae73","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.4853752} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"824693d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60340189-0fe5-4801-948d-23e17a4f5a60","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.4982448} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.224642,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling 200 50ms","method":"POST","requestID":"824693d0-24c7-11ef-b353-d1d4e8136596","responseTime":50,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"824c3920-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F20889fa7-4a97-4d7d-89bc-a4d4bf7c768e#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F20889fa7-4a97-4d7d-89bc-a4d4bf7c768e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"96c4a756-8440-45d2-9389-a57d0bf4b4e0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.5212197} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2450d36e-ded0-4ec5-8d68-b8a5b86c9ccf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.522222} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e753910a-6fbb-4f77-a1ec-212a6154f982","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.5261242} 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":"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":"69d939ac2a999537ca34564a7563cd99"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":121}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":13.484704,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"824e5c00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"07/Jun/2024:12:14:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.505","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69d939ac2a999537ca34564a7563cd99"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ae6cd31f96628fcb6d374747821f427","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /experiments? 201 511ms","method":"POST","requestID":"69d939ac2a999537ca34564a7563cd99","responseTime":511,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} device-1 | {"level":"info","message":"POST /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling 200 86ms","method":"POST","requestID":"824c3920-24c7-11ef-b353-d1d4e8136596","responseTime":86,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.365761,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762477,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"b6ff6df9-5df9-47fb-89aa-db97dbc19f67"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"aed3dc0a-5337-4538-a92a-c95b8aff730c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"53ea9695-f958-4bce-a082-a1554cca0db8"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} 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":"9ae6cd31f96628fcb6d374747821f427"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"POST /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling 200 77ms","method":"POST","requestID":"824e5c00-24c7-11ef-b353-d1d4e8136596","responseTime":77,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:34.974220151Z"}]},"request_id":"57b9fd33-0d38-427b-b934-18ff641a04d6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.5864832} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ae6cd31f96628fcb6d374747821f427"},"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:40588","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.000208,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762477,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","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":"825a9100-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9041cb64-b3c8-41b4-8a6b-be935183582c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ae6cd31f96628fcb6d374747821f427"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7ff5227e3148f365569913bf81f24e1f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/9041cb64-b3c8-41b4-8a6b-be935183582c? 200 45ms","method":"GET","requestID":"9ae6cd31f96628fcb6d374747821f427","responseTime":45,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894947,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762477,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ3N30.DNaLokNIrgBiyXFE3DT3gy6aXcPKWNJgfUOAN4V9Z_w"} 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":"7ff5227e3148f365569913bf81f24e1f"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:35.150390276Z"}]},"request_id":"af6704cf-5e95-4457-8622-edc7f28d0c38","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.6334033} 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":"7ff5227e3148f365569913bf81f24e1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"07/Jun/2024:12:14:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ff5227e3148f365569913bf81f24e1f"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22? 200 27ms","method":"GET","requestID":"7ff5227e3148f365569913bf81f24e1f","responseTime":27,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"298895af-084c-4a2d-9163-2878a1f2c6bf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.6836836} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a8be102-d1f8-4704-a540-ccfc70bf72bb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.6851506} authorization-1 | {"level":"info","message":"POST /relations/update 200 59ms","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":"825a9100-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":59}} 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/25f2f8b7-2248-4d9a-a602-45d2c115e575'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575'"} 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 150ms","method":"POST","requestID":"825a9100-24c7-11ef-b353-d1d4e8136596","responseTime":150,"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/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.63014,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4d21437-08f4-49af-914e-b3e19e34d086","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.8195179} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"827d8250-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling 200 39ms","method":"POST","requestID":"827d8250-24c7-11ef-b353-d1d4e8136596","responseTime":39,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d3a9644-3004-4f5e-9b0d-3bb9ef5da541","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762477.8687046} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.529697,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82843910-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling 200 47ms","method":"POST","requestID":"82843910-24c7-11ef-b353-d1d4e8136596","responseTime":47,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling"} device-1 | {"data":{"peerconnection":"25f2f8b7-2248-4d9a-a602-45d2c115e575","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"25f2f8b7-2248-4d9a-a602-45d2c115e575","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/25f2f8b7-2248-4d9a-a602-45d2c115e575' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25f2f8b7-2248-4d9a-a602-45d2c115e575","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ee7c21860a465ab31d0d5698d0c817e9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"ee7c21860a465ab31d0d5698d0c817e9","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"ee7c21860a465ab31d0d5698d0c817e9"} device-1 | {"data":{"peerconnection":"25f2f8b7-2248-4d9a-a602-45d2c115e575","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"25f2f8b7-2248-4d9a-a602-45d2c115e575","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/25f2f8b7-2248-4d9a-a602-45d2c115e575' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25f2f8b7-2248-4d9a-a602-45d2c115e575","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c171a2839a5fdd519a435452904eb529","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25f2f8b7-2248-4d9a-a602-45d2c115e575","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a09bca6-131e-4455-855a-35463cbb5c32","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762480.1385267} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":8.492441,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:40Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575 200 48ms","method":"GET","requestID":"83da0510-24c7-11ef-b353-d1d4e8136596","responseTime":48,"status":200,"url":"/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","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":"83da0510-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.511215,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4849be48-4ea9-4a86-acf7-8271332aef40","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762480.217671} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"c171a2839a5fdd519a435452904eb529","responseTime":115,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83eacdf0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"c171a2839a5fdd519a435452904eb529"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling 200 49ms","method":"POST","requestID":"83eacdf0-24c7-11ef-b353-d1d4e8136596","responseTime":49,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b65c47b4-0a74-4dba-be42-1d0cb8ff4bfb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762480.2727375} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.324376,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83f26f10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling 200 52ms","method":"POST","requestID":"83f26f10-24c7-11ef-b353-d1d4e8136596","responseTime":52,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4MH0.q9Y_T_cdZ8Lgz84Vhyy34mu8IREO2Lf2VQgcfT-eGWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b9e456887b7683b7930568ad10b1d5d9","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.927455,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762480,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4MH0.q9Y_T_cdZ8Lgz84Vhyy34mu8IREO2Lf2VQgcfT-eGWo"} 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":"b9e456887b7683b7930568ad10b1d5d9"},"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/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"} gateway-1 | {"time_local":"07/Jun/2024:12:14:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b9e456887b7683b7930568ad10b1d5d9"} experiment-1 | {"level":"info","message":"GET /experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e 200 43ms","method":"GET","requestID":"b9e456887b7683b7930568ad10b1d5d9","responseTime":43,"status":200,"url":"/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4MH0.q9Y_T_cdZ8Lgz84Vhyy34mu8IREO2Lf2VQgcfT-eGWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"0ee365c4feac9c76dc1695da70c56f69","responseTime":28,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.937275,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762480,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4MH0.q9Y_T_cdZ8Lgz84Vhyy34mu8IREO2Lf2VQgcfT-eGWo"} 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":"0ee365c4feac9c76dc1695da70c56f69"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.907907,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762480,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4MH0.q9Y_T_cdZ8Lgz84Vhyy34mu8IREO2Lf2VQgcfT-eGWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","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":"844968b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25f2f8b7-2248-4d9a-a602-45d2c115e575","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6438898beee3787c008b3d3c2a54413e","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"90a44672fd5bbbcd86ddc0e1f9b7d079","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25f2f8b7-2248-4d9a-a602-45d2c115e575': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25f2f8b7-2248-4d9a-a602-45d2c115e575","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"f2833785-64c3-49f9-9b71-7fea61ab84d5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762480.9193964} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b936ca5c-5bcd-4d92-91e0-e2c5a7123c4c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762480.920579} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","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":"844968b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":51}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"25f2f8b7-2248-4d9a-a602-45d2c115e575","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/25f2f8b7-2248-4d9a-a602-45d2c115e575 204 231ms","method":"DELETE","requestID":"844968b0-24c7-11ef-b353-d1d4e8136596","responseTime":231,"status":204,"url":"/peerconnections/25f2f8b7-2248-4d9a-a602-45d2c115e575"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.310338,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:41Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2382fda-e0e8-45f4-807c-5e366c86cd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa3dd392-b7dc-4748-a75c-a17d6d2678c1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762481.165371} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F20889fa7-4a97-4d7d-89bc-a4d4bf7c768e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F20889fa7-4a97-4d7d-89bc-a4d4bf7c768e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"ebb3965a-35a3-49c8-a377-e517f2b25b07","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762481.192143} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffd47fc6-b4b9-464e-8c62-8246229677d3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762481.193404} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 52ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8475a8d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":52}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling 200 83ms","method":"POST","requestID":"8475a8d0-24c7-11ef-b353-d1d4e8136596","responseTime":83,"status":200,"url":"/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 85ms","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":"0ee365c4feac9c76dc1695da70c56f69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":85}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:41Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9041cb64-b3c8-41b4-8a6b-be935183582c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f9ae122-b946-4e1b-ae52-86e9308b2616","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762481.2086523} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.008234,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9041cb64-b3c8-41b4-8a6b-be935183582c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8482c830-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling 200 39ms","method":"POST","requestID":"8482c830-24c7-11ef-b353-d1d4e8136596","responseTime":39,"status":200,"url":"/devices/9041cb64-b3c8-41b4-8a6b-be935183582c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"} gateway-1 | {"time_local":"07/Jun/2024:12:14:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.820","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ee365c4feac9c76dc1695da70c56f69"} experiment-1 | {"level":"info","message":"DELETE /experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e 204 794ms","method":"DELETE","requestID":"0ee365c4feac9c76dc1695da70c56f69","responseTime":794,"status":204,"url":"/experiments/20889fa7-4a97-4d7d-89bc-a4d4bf7c768e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4MX0.CBIUBnAFWfXlV5AZOFU9f5TsA7Q8_hOgo-hu7aYswqI","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"07/Jun/2024:12:14:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"4.734","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"71e5d7214401064be8a5a218380b076e"} gateway-1 | {"time_local":"07/Jun/2024:12:14:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"4.909","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"79bbd5d3ba2a4a707b836220e99cb84e"} authentication-1 | {"level":"info","message":"GET /auth 200 17ms","method":"GET","requestID":"21e5e5ac87f47697bb204ccb51e6fe96","responseTime":17,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 707ms","method":"POST","requestID":"6438898beee3787c008b3d3c2a54413e","responseTime":707,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.754","http_referrer":"","http_user_agent":"node-fetch","requestID":"6438898beee3787c008b3d3c2a54413e"} gateway-1 | {"time_local":"07/Jun/2024:12:14:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.753","http_referrer":"","http_user_agent":"node-fetch","requestID":"90a44672fd5bbbcd86ddc0e1f9b7d079"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c2382fda-e0e8-45f4-807c-5e366c86cd22' closed"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.954933,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:41Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 733ms","method":"POST","requestID":"90a44672fd5bbbcd86ddc0e1f9b7d079","responseTime":733,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762481,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4MX0.CBIUBnAFWfXlV5AZOFU9f5TsA7Q8_hOgo-hu7aYswqI"} 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":"21e5e5ac87f47697bb204ccb51e6fe96"},"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/9041cb64-b3c8-41b4-8a6b-be935183582c' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"54df70a3-8bed-4cae-81f0-4ac1670d26a1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762481.7583668} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21e5e5ac87f47697bb204ccb51e6fe96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":32}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9117681d-31a9-48b3-8fc2-ed3137223c13","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762481.7689035} 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":"21e5e5ac87f47697bb204ccb51e6fe96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"a8b89288-25e4-49be-8365-94c08b1a870a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762481.8206167} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be396076-76da-492f-bd21-9b2fcb6f8423","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762481.822006} authorization-1 | {"level":"info","message":"POST /relations/update 200 55ms","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":"21e5e5ac87f47697bb204ccb51e6fe96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":55}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:41.820588156Z"}]},"request_id":"4cd1610d-fbc3-4683-80ea-a979508fd455","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762481.860479} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 366ms","method":"POST","requestID":"21e5e5ac87f47697bb204ccb51e6fe96","responseTime":366,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.372","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21e5e5ac87f47697bb204ccb51e6fe96"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4MX0.CBIUBnAFWfXlV5AZOFU9f5TsA7Q8_hOgo-hu7aYswqI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"6f1741705b466e61389804e267532b16","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 143ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21e5e5ac87f47697bb204ccb51e6fe96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":143}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.896562,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762481,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4MX0.CBIUBnAFWfXlV5AZOFU9f5TsA7Q8_hOgo-hu7aYswqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","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":"6f1741705b466e61389804e267532b16"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"08a099a8-500b-4d0d-b44f-587513d758dd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762482.1258178} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f1741705b466e61389804e267532b16"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74454fe5-130b-4d8d-bbb2-bca0b754b17c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762482.1335094} 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":"6f1741705b466e61389804e267532b16"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"444954d2-11a7-4915-98bc-c18d91dcbd03","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762482.1769958} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"948d1bcf-b5c3-40e6-ae17-4b15798e662d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762482.1777658} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","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":"6f1741705b466e61389804e267532b16"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:42.176968851Z"}]},"request_id":"8e094b1c-24bb-47d2-a469-8f65d86d5df0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762482.1836102} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f1741705b466e61389804e267532b16"},"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 206ms","method":"POST","requestID":"6f1741705b466e61389804e267532b16","responseTime":206,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.211","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f1741705b466e61389804e267532b16"} gateway-1 | {"time_local":"07/Jun/2024:12:14:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/56c72ed1-5231-419e-b390-385e3adaafc9/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":"d15643548f03837f53a30a5bc07bc6d5"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d15643548f03837f53a30a5bc07bc6d5","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/56c72ed1-5231-419e-b390-385e3adaafc9/websocket 200 1ms","method":"OPTIONS","requestID":"d15643548f03837f53a30a5bc07bc6d5","responseTime":1,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"598a5b8fae2d9fd486676c16e53be1a7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850056,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} 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":"598a5b8fae2d9fd486676c16e53be1a7"},"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":"07/Jun/2024:12:14:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/56c72ed1-5231-419e-b390-385e3adaafc9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.060","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"598a5b8fae2d9fd486676c16e53be1a7"} device-1 | {"level":"info","message":"POST /devices/56c72ed1-5231-419e-b390-385e3adaafc9/websocket 200 54ms","method":"POST","requestID":"598a5b8fae2d9fd486676c16e53be1a7","responseTime":54,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8ccdcacb89d8f57752ecf67e49e54d96","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:14:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4c0c3238-4519-48ab-924a-908c14be4d6a/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":"8ccdcacb89d8f57752ecf67e49e54d96"} device-1 | {"level":"info","message":"OPTIONS /devices/4c0c3238-4519-48ab-924a-908c14be4d6a/websocket 200 1ms","method":"OPTIONS","requestID":"8ccdcacb89d8f57752ecf67e49e54d96","responseTime":1,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"faa3f832a95e8b1c9841be091b487c99","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.840778,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"faa3f832a95e8b1c9841be091b487c99"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/4c0c3238-4519-48ab-924a-908c14be4d6a/websocket 200 99ms","method":"POST","requestID":"faa3f832a95e8b1c9841be091b487c99","responseTime":99,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:14:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4c0c3238-4519-48ab-924a-908c14be4d6a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.095","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"faa3f832a95e8b1c9841be091b487c99"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"40824802289160f29862514dae4ba072","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910436,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} 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":"40824802289160f29862514dae4ba072"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:41.820588156Z"}]},"request_id":"38c218ec-2be1-471e-901e-6a3d8334de38","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762485.448872} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40824802289160f29862514dae4ba072"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c0c3238-4519-48ab-924a-908c14be4d6a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40824802289160f29862514dae4ba072"} device-1 | {"level":"info","message":"GET /devices/4c0c3238-4519-48ab-924a-908c14be4d6a? 200 74ms","method":"GET","requestID":"40824802289160f29862514dae4ba072","responseTime":74,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 43ms","method":"GET","requestID":"48937139120348bf85ffabfbd63b6aff","responseTime":43,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815251,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} 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":"48937139120348bf85ffabfbd63b6aff"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:42.176968851Z"}]},"request_id":"bd6d54e7-edf7-476e-8b51-b0a42d7799b3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762485.5255983} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/56c72ed1-5231-419e-b390-385e3adaafc9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"48937139120348bf85ffabfbd63b6aff"} device-1 | {"level":"info","message":"GET /devices/56c72ed1-5231-419e-b390-385e3adaafc9? 200 49ms","method":"GET","requestID":"48937139120348bf85ffabfbd63b6aff","responseTime":49,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48937139120348bf85ffabfbd63b6aff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7555b3a0f5446c130d9627d9a79f7e95","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:40588","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.908554,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} 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":"7555b3a0f5446c130d9627d9a79f7e95"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"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:40588","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.827962,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"872dc3f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"872e1210-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:41.820588156Z"}]},"request_id":"a6a4b1e7-8b2a-4e47-89be-59a47a2404e9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762485.7207804} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4c0c3238-4519-48ab-924a-908c14be4d6a? 200 54ms","method":"GET","requestID":"872dc3f0-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"872dc3f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.089911,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:42.176968851Z"}]},"request_id":"e751a2a8-cb44-44d6-8ef2-ef94e571c03d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762485.7634277} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"872e1210-24c7-11ef-b353-d1d4e8136596"},"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/56c72ed1-5231-419e-b390-385e3adaafc9? 200 90ms","method":"GET","requestID":"872e1210-24c7-11ef-b353-d1d4e8136596","responseTime":90,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:45Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91718,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} 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":"8754d3f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.873223,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} 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":"875ac760-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:41.820588156Z"}]},"request_id":"3abfb01b-1ddd-4c71-b0fa-887920d0eabd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762485.9882596} authorization-1 | {"level":"info","message":"POST /relations/query 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8754d3f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:42.176968851Z"}]},"request_id":"2dd33858-3289-46e5-9499-f5ca07d919ea","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762485.9907057} authorization-1 | {"level":"info","message":"POST /relations/query 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"875ac760-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":35}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd6eb916f-07e2-4615-8fcc-ec771d17f201#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd6eb916f-07e2-4615-8fcc-ec771d17f201","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"74f0b657-a19b-430d-b3c4-d2dee119fe67","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.0260952} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9ce11b5-cdc0-4bc8-9ef0-a1a8ecd51c09","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.0274885} device-1 | {"level":"info","message":"GET /devices/4c0c3238-4519-48ab-924a-908c14be4d6a? 200 95ms","method":"GET","requestID":"8754d3f0-24c7-11ef-b353-d1d4e8136596","responseTime":95,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 58ms","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":"7555b3a0f5446c130d9627d9a79f7e95"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":58}} device-1 | {"level":"info","message":"GET /devices/56c72ed1-5231-419e-b390-385e3adaafc9? 200 58ms","method":"GET","requestID":"875ac760-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9?"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31464715-09ed-447b-b783-dfbe1606abe9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.0353963} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":11.390076,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"875c7510-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78bceee2-4bf4-4179-8353-cb6fabf8b229","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.0822322} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.948745,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"876a09a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling 200 107ms","method":"POST","requestID":"875c7510-24c7-11ef-b353-d1d4e8136596","responseTime":107,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling"} gateway-1 | {"time_local":"07/Jun/2024:12:14:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.536","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7555b3a0f5446c130d9627d9a79f7e95"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4Nn0.uEWp8ZafFyX0eP2Lz_mmXong3T-FFEb_qWFEWfW92jQ","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling 200 55ms","method":"POST","requestID":"876a09a0-24c7-11ef-b353-d1d4e8136596","responseTime":55,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"73045e7a5a9de373c25ef146bfeb717b","responseTime":29,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /experiments? 201 558ms","method":"POST","requestID":"7555b3a0f5446c130d9627d9a79f7e95","responseTime":558,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.199523,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762486,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4Nn0.uEWp8ZafFyX0eP2Lz_mmXong3T-FFEb_qWFEWfW92jQ"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73045e7a5a9de373c25ef146bfeb717b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.181723,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f10f159-5a60-47dc-a8ef-38207fc6fcf4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.177192} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"518cb4b8-ef29-4fb9-85f3-e358f9f749cf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.1817527} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87741bc0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":38}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:41.820588156Z"}]},"request_id":"41d02bf6-49d7-402c-81ad-4166bff0518e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.1835825} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.037274,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8774df10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73045e7a5a9de373c25ef146bfeb717b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling 200 52ms","method":"POST","requestID":"87741bc0-24c7-11ef-b353-d1d4e8136596","responseTime":52,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling 200 53ms","method":"POST","requestID":"8774df10-24c7-11ef-b353-d1d4e8136596","responseTime":53,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Building connection plan"} gateway-1 | {"time_local":"07/Jun/2024:12:14:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c0c3238-4519-48ab-924a-908c14be4d6a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73045e7a5a9de373c25ef146bfeb717b"} device-1 | {"level":"info","message":"GET /devices/4c0c3238-4519-48ab-924a-908c14be4d6a? 200 99ms","method":"GET","requestID":"73045e7a5a9de373c25ef146bfeb717b","responseTime":99,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a?"} 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":"8cfb3d36-cfcd-44a7-aa0e-098504afd844"},{"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":"f720c933-b2b4-41dc-9e57-02686beff79c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"701c86a9-a4e5-4371-962a-ca81a10a670b"}]},"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/4c0c3238-4519-48ab-924a-908c14be4d6a"},{"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/56c72ed1-5231-419e-b390-385e3adaafc9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4Nn0.uEWp8ZafFyX0eP2Lz_mmXong3T-FFEb_qWFEWfW92jQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"48a204bd2cf4f1397af4637e10b56d30","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.954171,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762485,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4NX0.jXl1FWVNLkPwhPZrg1sYMKGk9vLFuKL2GWlliv5X-0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87822580-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.30175,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762486,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4Nn0.uEWp8ZafFyX0eP2Lz_mmXong3T-FFEb_qWFEWfW92jQ"} 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":"48a204bd2cf4f1397af4637e10b56d30"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:42.176968851Z"}]},"request_id":"996416dc-88d4-4e04-9b8c-0c62b3731b98","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.2844598} 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":"48a204bd2cf4f1397af4637e10b56d30"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/56c72ed1-5231-419e-b390-385e3adaafc9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"48a204bd2cf4f1397af4637e10b56d30"} device-1 | {"level":"info","message":"GET /devices/56c72ed1-5231-419e-b390-385e3adaafc9? 200 55ms","method":"GET","requestID":"48a204bd2cf4f1397af4637e10b56d30","responseTime":55,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"bf311798-7c1d-43cd-bdb7-bef5f9df75d8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.2969708} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5cb30b06-6104-4479-b5a1-6a634cd3e825","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.2981799} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87822580-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} 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/eb7fd609-a614-4455-8ebc-56be0ef661ef'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef'"} 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 112ms","method":"POST","requestID":"87822580-24c7-11ef-b353-d1d4e8136596","responseTime":112,"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/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.753195,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1490e84-46b5-4831-aa4f-8973dc5c86b5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.4559348} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling 200 18ms","method":"POST","requestID":"87a34210-24c7-11ef-b353-d1d4e8136596","responseTime":18,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87a34210-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling 200 13ms","method":"POST","requestID":"87a739b0-24c7-11ef-b353-d1d4e8136596","responseTime":13,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.981113,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"818eecad-7ff9-4c1e-820f-a162acaea5c8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.4806528} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87a739b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb7fd609-a614-4455-8ebc-56be0ef661ef","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d55dab0a3488af82dbb373db0906048d","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/4c0c3238-4519-48ab-924a-908c14be4d6a"},{"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/56c72ed1-5231-419e-b390-385e3adaafc9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"d55dab0a3488af82dbb373db0906048d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"d55dab0a3488af82dbb373db0906048d","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"eb7fd609-a614-4455-8ebc-56be0ef661ef","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"eb7fd609-a614-4455-8ebc-56be0ef661ef","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/eb7fd609-a614-4455-8ebc-56be0ef661ef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb7fd609-a614-4455-8ebc-56be0ef661ef","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9bc819199403625ebb575f88ec6c44b8","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/4c0c3238-4519-48ab-924a-908c14be4d6a"},{"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/56c72ed1-5231-419e-b390-385e3adaafc9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.081239,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb7fd609-a614-4455-8ebc-56be0ef661ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"054fbdc6-9b78-4bb7-a90c-c646c7821751","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762486.8755233} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef","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 42ms","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":"87e37f60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":42}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef 200 63ms","method":"GET","requestID":"87e37f60-24c7-11ef-b353-d1d4e8136596","responseTime":63,"status":200,"url":"/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4Nn0.uEWp8ZafFyX0eP2Lz_mmXong3T-FFEb_qWFEWfW92jQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"39ceaa447b81431d8f4568afa3d11ad7","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.925418,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762486,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4Nn0.uEWp8ZafFyX0eP2Lz_mmXong3T-FFEb_qWFEWfW92jQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","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":"39ceaa447b81431d8f4568afa3d11ad7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 303ms","method":"POST","requestID":"9bc819199403625ebb575f88ec6c44b8","responseTime":303,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"} gateway-1 | {"time_local":"07/Jun/2024:12:14:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39ceaa447b81431d8f4568afa3d11ad7"} experiment-1 | {"level":"info","message":"GET /experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201 200 110ms","method":"GET","requestID":"39ceaa447b81431d8f4568afa3d11ad7","responseTime":110,"status":200,"url":"/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.311","http_referrer":"","http_user_agent":"node-fetch","requestID":"9bc819199403625ebb575f88ec6c44b8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4N30.JBHVmaHOVE0QJdklpuibMPC3lcq9bnrh2qDOaHrM0cs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 46ms","method":"GET","requestID":"b8e80f3d23535976a138917e6f1a8cb8","responseTime":46,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.304699,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fabcbfa1-8658-4b10-a886-2b8e026a14d4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.1479168} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8806e5e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.878042,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762487,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4N30.JBHVmaHOVE0QJdklpuibMPC3lcq9bnrh2qDOaHrM0cs"} 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":"b8e80f3d23535976a138917e6f1a8cb8"},"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/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling 200 77ms","method":"POST","requestID":"8806e5e0-24c7-11ef-b353-d1d4e8136596","responseTime":77,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8f5be1e-1f3f-4ec4-907a-a3f632fdfaf7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.2226155} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.551848,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88171280-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling 200 26ms","method":"POST","requestID":"88171280-24c7-11ef-b353-d1d4e8136596","responseTime":26,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.839628,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762487,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4N30.JBHVmaHOVE0QJdklpuibMPC3lcq9bnrh2qDOaHrM0cs"} 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":"881b0a20-24c7-11ef-b353-d1d4e8136596"},"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/eb7fd609-a614-4455-8ebc-56be0ef661ef' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb7fd609-a614-4455-8ebc-56be0ef661ef","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"443481af63a8821f5f03c420e2bec965","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb7fd609-a614-4455-8ebc-56be0ef661ef': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb7fd609-a614-4455-8ebc-56be0ef661ef","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"f9fbfce0-7533-49c2-a200-a4dc8a891f01","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.298826} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc5bbced-df95-4f70-8494-4e4f605eccd4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.329287} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"372e08fbc3d95e2d8987e1265389d353","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","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":"881b0a20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":44}} 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/4c0c3238-4519-48ab-924a-908c14be4d6a"},{"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/56c72ed1-5231-419e-b390-385e3adaafc9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef"}}},"level":"info","message":"received a callback"} 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/4c0c3238-4519-48ab-924a-908c14be4d6a"},{"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/56c72ed1-5231-419e-b390-385e3adaafc9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef 204 163ms","method":"DELETE","requestID":"881b0a20-24c7-11ef-b353-d1d4e8136596","responseTime":163,"status":204,"url":"/peerconnections/eb7fd609-a614-4455-8ebc-56be0ef661ef"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838648,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c0c3238-4519-48ab-924a-908c14be4d6a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"130b5902-2fcc-457e-ae91-7f776ebe99d6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.468127} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling 200 14ms","method":"POST","requestID":"883dd460-24c7-11ef-b353-d1d4e8136596","responseTime":14,"status":200,"url":"/devices/4c0c3238-4519-48ab-924a-908c14be4d6a/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"883dd460-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd6eb916f-07e2-4615-8fcc-ec771d17f201': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd6eb916f-07e2-4615-8fcc-ec771d17f201","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"21065454-cbf9-4855-8d2c-03b017bb12a9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.506359} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e61909a-4a63-48ad-839b-b044d081cacf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.5070617} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56c72ed1-5231-419e-b390-385e3adaafc9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e300220-8044-43a3-a548-2f7b96579924","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.510969} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.720078,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88404560-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/update 200 56ms","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":"b8e80f3d23535976a138917e6f1a8cb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":56}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling 200 44ms","method":"POST","requestID":"88404560-24c7-11ef-b353-d1d4e8136596","responseTime":44,"status":200,"url":"/devices/56c72ed1-5231-419e-b390-385e3adaafc9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"} gateway-1 | {"time_local":"07/Jun/2024:12:14:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.516","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8e80f3d23535976a138917e6f1a8cb8"} experiment-1 | {"level":"info","message":"DELETE /experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201 204 470ms","method":"DELETE","requestID":"b8e80f3d23535976a138917e6f1a8cb8","responseTime":470,"status":204,"url":"/experiments/d6eb916f-07e2-4615-8fcc-ec771d17f201"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 315ms","method":"POST","requestID":"443481af63a8821f5f03c420e2bec965","responseTime":315,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.325","http_referrer":"","http_user_agent":"node-fetch","requestID":"443481af63a8821f5f03c420e2bec965"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 317ms","method":"POST","requestID":"372e08fbc3d95e2d8987e1265389d353","responseTime":317,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.324","http_referrer":"","http_user_agent":"node-fetch","requestID":"372e08fbc3d95e2d8987e1265389d353"} gateway-1 | {"time_local":"07/Jun/2024:12:14:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3231","request_time":"2.346","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9d39270f07cf681d24ef7d882855b596"} gateway-1 | {"time_local":"07/Jun/2024:12:14:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"2.474","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"942d28b2417056806b019837946136d3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4N30.JBHVmaHOVE0QJdklpuibMPC3lcq9bnrh2qDOaHrM0cs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e4fd3687b85db1374293fb7937ef093","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/56c72ed1-5231-419e-b390-385e3adaafc9' closed"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.879294,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762487,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4N30.JBHVmaHOVE0QJdklpuibMPC3lcq9bnrh2qDOaHrM0cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e4fd3687b85db1374293fb7937ef093"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4c0c3238-4519-48ab-924a-908c14be4d6a' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9e87f342-6f95-42c0-96fd-eb29de73f991","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.7845805} authorization-1 | {"level":"info","message":"POST /relations/query 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e4fd3687b85db1374293fb7937ef093"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de580648-80e5-4ffd-b991-e5846d0ca94d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.8069246} 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":"7e4fd3687b85db1374293fb7937ef093"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"f42a80c1-63ad-47e9-b6b1-bcf787b92abd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.81835} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5f3bd16-f11e-4384-ae4d-4f1039556693","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.8192294} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e4fd3687b85db1374293fb7937ef093"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.818319955Z"}]},"request_id":"33f56e24-8b08-43b6-894a-1f7bb25afcf1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.8683467} authorization-1 | {"level":"info","message":"POST /relations/query 200 48ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e4fd3687b85db1374293fb7937ef093"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":48}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 199ms","method":"POST","requestID":"7e4fd3687b85db1374293fb7937ef093","responseTime":199,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e4fd3687b85db1374293fb7937ef093"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4N30.JBHVmaHOVE0QJdklpuibMPC3lcq9bnrh2qDOaHrM0cs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"18a5809955f3dad188f3dec79ee86456","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.140308,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762487,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ4N30.JBHVmaHOVE0QJdklpuibMPC3lcq9bnrh2qDOaHrM0cs"} 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":"18a5809955f3dad188f3dec79ee86456"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5810f293-e19b-4878-9156-5becbb80dfa8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.935419} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18a5809955f3dad188f3dec79ee86456"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2cb6206b-e0c4-40f5-bbdc-d2ac9eec86c1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.941956} 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":"18a5809955f3dad188f3dec79ee86456"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"572d910f-1558-44fa-902a-2ea522b3c467","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.955345} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39bf3718-b572-4327-b611-cf164e62bee4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.956701} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18a5809955f3dad188f3dec79ee86456"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.955316321Z"}]},"request_id":"15ec68a0-eafb-42da-b02f-7796b369d192","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762487.9623346} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18a5809955f3dad188f3dec79ee86456"},"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 108ms","method":"POST","requestID":"18a5809955f3dad188f3dec79ee86456","responseTime":108,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18a5809955f3dad188f3dec79ee86456"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1b7e87e831f850c84de3717b481723bd","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cd1dcc8ed78c5701ba6dddee63d35afc","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:14:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/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":"cd1dcc8ed78c5701ba6dddee63d35afc"} gateway-1 | {"time_local":"07/Jun/2024:12:14:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c63accfb-aae9-451f-aa07-f35079a4b993/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1b7e87e831f850c84de3717b481723bd"} device-1 | {"level":"info","message":"OPTIONS /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/websocket 200 1ms","method":"OPTIONS","requestID":"cd1dcc8ed78c5701ba6dddee63d35afc","responseTime":1,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/websocket"} device-1 | {"level":"info","message":"OPTIONS /devices/c63accfb-aae9-451f-aa07-f35079a4b993/websocket 200 1ms","method":"OPTIONS","requestID":"1b7e87e831f850c84de3717b481723bd","responseTime":1,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MH0.aP0qTxb5EyFb_5ULs3sje4IQgKBV86xhA0e7dg3q6Tk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2f447867175dc667260d202cc795b679","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MH0.aP0qTxb5EyFb_5ULs3sje4IQgKBV86xhA0e7dg3q6Tk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b7f02740459f0905d8ef9db3922ccf89","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:50Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.016711,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762490,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MH0.aP0qTxb5EyFb_5ULs3sje4IQgKBV86xhA0e7dg3q6Tk"} 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":"2f447867175dc667260d202cc795b679"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922835,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762490,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MH0.aP0qTxb5EyFb_5ULs3sje4IQgKBV86xhA0e7dg3q6Tk"} 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":"b7f02740459f0905d8ef9db3922ccf89"},"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":"07/Jun/2024:12:14:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c63accfb-aae9-451f-aa07-f35079a4b993/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.061","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b7f02740459f0905d8ef9db3922ccf89"} device-1 | {"level":"info","message":"POST /devices/c63accfb-aae9-451f-aa07-f35079a4b993/websocket 200 52ms","method":"POST","requestID":"b7f02740459f0905d8ef9db3922ccf89","responseTime":52,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/websocket 200 55ms","method":"POST","requestID":"2f447867175dc667260d202cc795b679","responseTime":55,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:14:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.063","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2f447867175dc667260d202cc795b679"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MH0.aP0qTxb5EyFb_5ULs3sje4IQgKBV86xhA0e7dg3q6Tk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"fdb1b120eefa713271eaeac57b85dd94","responseTime":29,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:50Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212338,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762490,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MH0.aP0qTxb5EyFb_5ULs3sje4IQgKBV86xhA0e7dg3q6Tk"} 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":"fdb1b120eefa713271eaeac57b85dd94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.818319955Z"}]},"request_id":"79f519dd-bf7a-451a-adc5-6a45310a1589","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762490.9363573} 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":"fdb1b120eefa713271eaeac57b85dd94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} gateway-1 | {"time_local":"07/Jun/2024:12:14:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fdb1b120eefa713271eaeac57b85dd94"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f? 200 33ms","method":"GET","requestID":"fdb1b120eefa713271eaeac57b85dd94","responseTime":33,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MH0.aP0qTxb5EyFb_5ULs3sje4IQgKBV86xhA0e7dg3q6Tk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"1c595cd26c1c8ac3fe10615e31ab5b2b","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:50Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.883762,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762490,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MH0.aP0qTxb5EyFb_5ULs3sje4IQgKBV86xhA0e7dg3q6Tk"} 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":"1c595cd26c1c8ac3fe10615e31ab5b2b"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.955316321Z"}]},"request_id":"b9221e77-ccc1-4c2f-862e-84f63fe93ee2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762490.9963615} 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":"1c595cd26c1c8ac3fe10615e31ab5b2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c63accfb-aae9-451f-aa07-f35079a4b993? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c595cd26c1c8ac3fe10615e31ab5b2b"} device-1 | {"level":"info","message":"GET /devices/c63accfb-aae9-451f-aa07-f35079a4b993? 200 28ms","method":"GET","requestID":"1c595cd26c1c8ac3fe10615e31ab5b2b","responseTime":28,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3d834f03989f9027a016a7bb4ee5adfd","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:40588","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.968288,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762491,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU"} 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":"3d834f03989f9027a016a7bb4ee5adfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"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:51058","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.004002,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761754,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762491,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU"} 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":"8a71cb60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762491,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU"} 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":"8a717d40-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.955316321Z"}]},"request_id":"de9134da-731f-4d21-840b-02d925137f4a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.2083247} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.818319955Z"}]},"request_id":"b1790df8-0d46-41b3-aae8-29ffc0177507","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.2088044} 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":"8a71cb60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a717d40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c63accfb-aae9-451f-aa07-f35079a4b993? 200 64ms","method":"GET","requestID":"8a71cb60-24c7-11ef-b353-d1d4e8136596","responseTime":64,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f? 200 68ms","method":"GET","requestID":"8a717d40-24c7-11ef-b353-d1d4e8136596","responseTime":68,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907983,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762491,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU"} 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":"8a90c510-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.314997,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762491,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a94e3c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"client_addr":"127.0.0.1:39874","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.955316321Z"}]},"request_id":"ec09ea32-36ed-49b1-bb2b-4b0838c6eabc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.421184} authorization-1 | {"client_addr":"127.0.0.1:39874","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.791798,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e37053dd-c34c-455e-b5a4-f2375c169897","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.4219627} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.818319955Z"}]},"request_id":"a7e566d6-46bf-4a94-ab42-c41782a27f9c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.4225693} authorization-1 | {"level":"info","message":"POST /relations/query 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a94e3c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":43}} authorization-1 | {"level":"info","message":"POST /relations/query 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a90c510-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":42}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 65ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a9531e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":65}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c63accfb-aae9-451f-aa07-f35079a4b993? 200 84ms","method":"GET","requestID":"8a94e3c0-24c7-11ef-b353-d1d4e8136596","responseTime":84,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F66bd6841-4c04-41d8-bf5b-f46527a99ed8#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F66bd6841-4c04-41d8-bf5b-f46527a99ed8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"4f92de0b-3ffa-49fd-a43e-8c35ca7064ed","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.4685326} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"151f2a94-9222-4b77-a27f-6c5db6662630","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.4691541} device-1 | {"level":"info","message":"GET /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f? 200 116ms","method":"GET","requestID":"8a90c510-24c7-11ef-b353-d1d4e8136596","responseTime":116,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f?"} 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":"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":"3d834f03989f9027a016a7bb4ee5adfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":81}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling 200 95ms","method":"POST","requestID":"8a9531e0-24c7-11ef-b353-d1d4e8136596","responseTime":95,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fee30542-7f37-4cda-a3cc-6f5f30f7586d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.48821} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.629095,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 480ms","method":"POST","requestID":"3d834f03989f9027a016a7bb4ee5adfd","responseTime":480,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling 200 19ms","method":"POST","requestID":"8aa2ed80-24c7-11ef-b353-d1d4e8136596","responseTime":19,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling"} gateway-1 | {"time_local":"07/Jun/2024:12:14:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.512","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d834f03989f9027a016a7bb4ee5adfd"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8aa2ed80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5dda4a3f3f7b232fdd9614fde717b503","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.145715,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"282485ec-b4be-4edc-9175-a6ef2a3a8fca","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.5370104} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling 200 57ms","method":"POST","requestID":"8aa47420-24c7-11ef-b353-d1d4e8136596","responseTime":57,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8aa47420-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"client_addr":"127.0.0.1:51058","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.107133,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ace1f69-aeef-4001-9e33-57263007d504","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.5449975} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling 200 24ms","method":"POST","requestID":"8aaadcc0-24c7-11ef-b353-d1d4e8136596","responseTime":24,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8aaadcc0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"client_addr":"127.0.0.1:39874","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:39874","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.193475,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762491,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU"} 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":"5dda4a3f3f7b232fdd9614fde717b503"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"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":"949b6d0f-bc5d-4471-9002-ef21f69464a6"},{"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":"04ebad32-bc5b-44b3-91ea-8d6ae945934a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1008a3fa-0513-47a1-a71e-74aeeb33e479"}]},"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/c63accfb-aae9-451f-aa07-f35079a4b993"},{"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/39354567-24d3-4b8d-b3f9-99a1aef6f25f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.818319955Z"}]},"request_id":"728b830e-2a83-4bda-8a66-4d6ffeb311b1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.595192} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f? 200 64ms","method":"GET","requestID":"5dda4a3f3f7b232fdd9614fde717b503","responseTime":64,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5dda4a3f3f7b232fdd9614fde717b503"} authorization-1 | {"level":"info","message":"POST /relations/query 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5dda4a3f3f7b232fdd9614fde717b503"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.992993,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762491,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","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":"8aaf97b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"d25c4d4e27628f4a554a69e36145ab4a","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855822,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"88f1e2d2-3dae-4e7d-a556-d2cdb8143c83","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.6210546} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762491,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5MX0.TgMbv33TqKSAwwuGywQo35mJ-TijfarwIq8ebwEYNZU"} 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":"d25c4d4e27628f4a554a69e36145ab4a"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:47.955316321Z"}]},"request_id":"e42740ce-a38a-46c6-ade3-74ff5fc45953","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.6350265} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c63accfb-aae9-451f-aa07-f35079a4b993? 200 48ms","method":"GET","requestID":"d25c4d4e27628f4a554a69e36145ab4a","responseTime":48,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d25c4d4e27628f4a554a69e36145ab4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":33}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe20bc3a-2bdd-4d82-8b04-586839303b56","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.6608236} gateway-1 | {"time_local":"07/Jun/2024:12:14:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c63accfb-aae9-451f-aa07-f35079a4b993? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d25c4d4e27628f4a554a69e36145ab4a"} authorization-1 | {"level":"info","message":"POST /relations/update 200 54ms","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":"8aaf97b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":54}} 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/199d9c6d-c982-424b-bfc0-291929e143cf'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf'"} 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 191ms","method":"POST","requestID":"8aaf97b0-24c7-11ef-b353-d1d4e8136596","responseTime":191,"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":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Successfully created peerconnections for experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.323108,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da32da1d-194d-4c17-add6-be596059a039","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.940479} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling 200 42ms","method":"POST","requestID":"8ae3ee20-24c7-11ef-b353-d1d4e8136596","responseTime":42,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ae3ee20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.424259,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:51Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04687909-bd18-4424-8d00-50a24f3664e9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762491.9621396} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8aeaf300-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling 200 53ms","method":"POST","requestID":"8aeaf300-24c7-11ef-b353-d1d4e8136596","responseTime":53,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"199d9c6d-c982-424b-bfc0-291929e143cf","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"653b685dce11055d3cc62ae948fd26c3","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993"},{"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/39354567-24d3-4b8d-b3f9-99a1aef6f25f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"653b685dce11055d3cc62ae948fd26c3","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"653b685dce11055d3cc62ae948fd26c3"} device-1 | {"data":{"peerconnection":"199d9c6d-c982-424b-bfc0-291929e143cf","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"199d9c6d-c982-424b-bfc0-291929e143cf","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/199d9c6d-c982-424b-bfc0-291929e143cf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"199d9c6d-c982-424b-bfc0-291929e143cf","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/c63accfb-aae9-451f-aa07-f35079a4b993"},{"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/39354567-24d3-4b8d-b3f9-99a1aef6f25f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e2ef84119ce79525a5a6c32f979818df","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.144718,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F199d9c6d-c982-424b-bfc0-291929e143cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32d94209-6fcf-420a-84a8-eaecb0af9799","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762492.3100674} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf","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 15ms","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":"8b1fbea0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf 200 55ms","method":"GET","requestID":"8b1fbea0-24c7-11ef-b353-d1d4e8136596","responseTime":55,"status":200,"url":"/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Mn0.FHY63Hi89U56ZA2jVElnzditby8Xt24jjogdXa8iXPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"719f6fe832d9aa6826d39289d0ee92d9","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.972402,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762492,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Mn0.FHY63Hi89U56ZA2jVElnzditby8Xt24jjogdXa8iXPk"} 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":"719f6fe832d9aa6826d39289d0ee92d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 194ms","method":"POST","requestID":"e2ef84119ce79525a5a6c32f979818df","responseTime":194,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"07/Jun/2024:12:14:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch","requestID":"e2ef84119ce79525a5a6c32f979818df"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f4a613d-647e-488d-a410-fe458a5995d0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762492.5053072} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":13.753716,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b3c9570-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling 200 58ms","method":"POST","requestID":"8b3c9570-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"} experiment-1 | {"level":"info","message":"GET /experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8 200 151ms","method":"GET","requestID":"719f6fe832d9aa6826d39289d0ee92d9","responseTime":151,"status":200,"url":"/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"} gateway-1 | {"time_local":"07/Jun/2024:12:14:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"719f6fe832d9aa6826d39289d0ee92d9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cdb08ad-81db-41af-bea6-4db05e548e86","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762492.58596} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.240011,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b4ac640-24c7-11ef-b353-d1d4e8136596"},"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/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling 200 16ms","method":"POST","requestID":"8b4ac640-24c7-11ef-b353-d1d4e8136596","responseTime":16,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Mn0.FHY63Hi89U56ZA2jVElnzditby8Xt24jjogdXa8iXPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"1c4790fa54c90bfc8511bfa75aa2d0c2","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.82444,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762492,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Mn0.FHY63Hi89U56ZA2jVElnzditby8Xt24jjogdXa8iXPk"} 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":"1c4790fa54c90bfc8511bfa75aa2d0c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:52Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.938501,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762492,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Mn0.FHY63Hi89U56ZA2jVElnzditby8Xt24jjogdXa8iXPk"} 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":"8b5378d0-24c7-11ef-b353-d1d4e8136596"},"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/199d9c6d-c982-424b-bfc0-291929e143cf' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"199d9c6d-c982-424b-bfc0-291929e143cf","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b240687afb03634a6d5a6771964f55cc","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993"},{"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/39354567-24d3-4b8d-b3f9-99a1aef6f25f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c82a93dedf434412fdaa648b6efacbaf","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993"},{"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/39354567-24d3-4b8d-b3f9-99a1aef6f25f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F199d9c6d-c982-424b-bfc0-291929e143cf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F199d9c6d-c982-424b-bfc0-291929e143cf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"f55231e2-54f2-4d5a-9c1a-a3252b515db9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762492.6985714} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"817c4c64-7614-4174-a7ef-3fd49bc2bcc6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762492.6991544} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","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":"8b5378d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":46}} device-1 | {"data":{"peerconnection":"199d9c6d-c982-424b-bfc0-291929e143cf","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/199d9c6d-c982-424b-bfc0-291929e143cf 204 170ms","method":"DELETE","requestID":"8b5378d0-24c7-11ef-b353-d1d4e8136596","responseTime":170,"status":204,"url":"/peerconnections/199d9c6d-c982-424b-bfc0-291929e143cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63accfb-aae9-451f-aa07-f35079a4b993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4a2373f-5ba1-4451-ba9d-d6ea047b511c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762492.9529436} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.67652,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b82c630-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F66bd6841-4c04-41d8-bf5b-f46527a99ed8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F66bd6841-4c04-41d8-bf5b-f46527a99ed8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"1b478bfc-2178-4b34-bcc7-0c85912a08e1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762492.9883537} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6403804-c796-49e7-9c60-ba7619d67cb4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762492.9894984} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","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":"1c4790fa54c90bfc8511bfa75aa2d0c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":47}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling 200 49ms","method":"POST","requestID":"8b82c630-24c7-11ef-b353-d1d4e8136596","responseTime":49,"status":200,"url":"/devices/c63accfb-aae9-451f-aa07-f35079a4b993/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.406695,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:53Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39354567-24d3-4b8d-b3f9-99a1aef6f25f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d71ef908-cfd3-4c47-837b-1a7e2c9c5e40","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.0080457} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b8b2aa0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling 200 51ms","method":"POST","requestID":"8b8b2aa0-24c7-11ef-b353-d1d4e8136596","responseTime":51,"status":200,"url":"/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"} gateway-1 | {"time_local":"07/Jun/2024:12:14:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.681","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c4790fa54c90bfc8511bfa75aa2d0c2"} experiment-1 | {"level":"info","message":"DELETE /experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8 204 647ms","method":"DELETE","requestID":"1c4790fa54c90bfc8511bfa75aa2d0c2","responseTime":647,"status":204,"url":"/experiments/66bd6841-4c04-41d8-bf5b-f46527a99ed8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 580ms","method":"POST","requestID":"b240687afb03634a6d5a6771964f55cc","responseTime":580,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.585","http_referrer":"","http_user_agent":"node-fetch","requestID":"b240687afb03634a6d5a6771964f55cc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5M30.X39K19z9kaCbsc6s9e0uDM11H1cONk08T35PSXKUTJE","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"07/Jun/2024:12:14: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.612","http_referrer":"","http_user_agent":"node-fetch","requestID":"c82a93dedf434412fdaa648b6efacbaf"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"4ac71bcd2808dbf24a8ad69aaf81aef1","responseTime":29,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 605ms","method":"POST","requestID":"c82a93dedf434412fdaa648b6efacbaf","responseTime":605,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:14:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3232","request_time":"2.450","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a4fca1ac1cdef5b6bfb7d4261f44e237"} gateway-1 | {"time_local":"07/Jun/2024:12:14:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"2.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":"94ec79a01a4cf5f04dc7c719ab25926c"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c63accfb-aae9-451f-aa07-f35079a4b993' closed"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":36.739599,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762493,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5M30.X39K19z9kaCbsc6s9e0uDM11H1cONk08T35PSXKUTJE"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","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":"4ac71bcd2808dbf24a8ad69aaf81aef1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/39354567-24d3-4b8d-b3f9-99a1aef6f25f' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e4717e1d-8951-465b-a4ed-f8a32154e9fe","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.4123325} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ac71bcd2808dbf24a8ad69aaf81aef1"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb5f6820-1c25-46c8-80eb-fcc206be7744","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.4188068} 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":"4ac71bcd2808dbf24a8ad69aaf81aef1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"df82f3c8-d839-4562-8249-ef1a73a70daa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.4302685} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c259df8-dabc-4c2a-8db3-4bbf0997b046","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.4309902} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"4ac71bcd2808dbf24a8ad69aaf81aef1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.430242211Z"}]},"request_id":"1fb2ed64-8da3-4592-b5a4-d9ddee8f1542","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.4705393} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ac71bcd2808dbf24a8ad69aaf81aef1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:14:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ac71bcd2808dbf24a8ad69aaf81aef1"} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 164ms","method":"POST","requestID":"4ac71bcd2808dbf24a8ad69aaf81aef1","responseTime":164,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5M30.X39K19z9kaCbsc6s9e0uDM11H1cONk08T35PSXKUTJE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"2aef66255d8f2a2b8638135cd86bf3d5","responseTime":30,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.820194,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762493,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5M30.X39K19z9kaCbsc6s9e0uDM11H1cONk08T35PSXKUTJE"} 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":"2aef66255d8f2a2b8638135cd86bf3d5"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9dfb17f3-7551-4abd-93e9-5d8edccb2a9c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.5635757} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2aef66255d8f2a2b8638135cd86bf3d5"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc20c746-44ae-47fd-a6c7-3dc092db4be7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.5703528} 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":"2aef66255d8f2a2b8638135cd86bf3d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0637b2fe-b5f0-4ed8-8463-68ae9b740ec5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.5829854} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"fe81ef59-6cbc-4985-8c21-f31ff3e178f5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.5834665} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2aef66255d8f2a2b8638135cd86bf3d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.583430241Z"}]},"request_id":"da622f8a-bef6-4cd1-8605-5799eb22bb80","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762493.613407} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 105ms","method":"POST","requestID":"2aef66255d8f2a2b8638135cd86bf3d5","responseTime":105,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:14:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2aef66255d8f2a2b8638135cd86bf3d5"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2aef66255d8f2a2b8638135cd86bf3d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":27}} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5NX0.u_VF4Eci9YFZTVEwnhHUWm3QuxCcDip7WD2MYMC496s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"121194f36b40002f17c8023e2c7f8c12","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:55Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.924185,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762495,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5NX0.u_VF4Eci9YFZTVEwnhHUWm3QuxCcDip7WD2MYMC496s"} 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":"121194f36b40002f17c8023e2c7f8c12"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.583430241Z"}]},"request_id":"15211910-5f05-4102-a053-2f8f7bf716cf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762495.6443667} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121194f36b40002f17c8023e2c7f8c12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"335abc5d-c206-4a02-a856-f25f8f9d9d63","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762495.6624343} 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":"121194f36b40002f17c8023e2c7f8c12"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.583430241Z"}]},"request_id":"73fc888c-205a-4fdb-9c04-6680d7ab424b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762495.7430668} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121194f36b40002f17c8023e2c7f8c12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"07/Jun/2024:12:14:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/57a33492-c784-4665-ab93-6e92fe7c27fc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.149","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"121194f36b40002f17c8023e2c7f8c12"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/57a33492-c784-4665-ab93-6e92fe7c27fc 200 143ms","method":"PATCH","requestID":"121194f36b40002f17c8023e2c7f8c12","responseTime":143,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5NX0.u_VF4Eci9YFZTVEwnhHUWm3QuxCcDip7WD2MYMC496s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a33ac40e6a97673a80b0c32aa7da84f0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:55Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.056094,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762495,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5NX0.u_VF4Eci9YFZTVEwnhHUWm3QuxCcDip7WD2MYMC496s"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a33ac40e6a97673a80b0c32aa7da84f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} gateway-1 | {"time_local":"07/Jun/2024:12:14:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/57a33492-c784-4665-ab93-6e92fe7c27fc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.095","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a33ac40e6a97673a80b0c32aa7da84f0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/57a33492-c784-4665-ab93-6e92fe7c27fc/websocket 200 85ms","method":"POST","requestID":"a33ac40e6a97673a80b0c32aa7da84f0","responseTime":85,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04919feff383e30173340d0e2b8af3cf","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:14:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/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":"04919feff383e30173340d0e2b8af3cf"} device-1 | {"level":"info","message":"OPTIONS /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/websocket 200 1ms","method":"OPTIONS","requestID":"04919feff383e30173340d0e2b8af3cf","responseTime":1,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 44ms","method":"GET","requestID":"5fc2a2229bf3875c6ef85d03774bba63","responseTime":44,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917152,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762496,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY"} 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":"5fc2a2229bf3875c6ef85d03774bba63"},"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":"07/Jun/2024:12:14:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.144","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5fc2a2229bf3875c6ef85d03774bba63"} device-1 | {"level":"info","message":"POST /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/websocket 200 96ms","method":"POST","requestID":"5fc2a2229bf3875c6ef85d03774bba63","responseTime":96,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d5e4f446671f39ebc907f76350d1990","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936219,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762496,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY"} 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":"8d5e4f446671f39ebc907f76350d1990"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.430242211Z"}]},"request_id":"281ae6df-7da0-4f1b-b443-a8e16dcee7e4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762496.8547368} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d5e4f446671f39ebc907f76350d1990"},"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":"07/Jun/2024:12:14:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175? 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":"8d5e4f446671f39ebc907f76350d1990"} device-1 | {"level":"info","message":"GET /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175? 200 16ms","method":"GET","requestID":"8d5e4f446671f39ebc907f76350d1990","responseTime":16,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"784038cd9612d231779134ffd58002c9","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90677,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762496,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY"} 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":"784038cd9612d231779134ffd58002c9"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.583430241Z"}]},"request_id":"346aee54-8435-4dbe-aa0b-35984a7ad39a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762496.901221} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/57a33492-c784-4665-ab93-6e92fe7c27fc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"784038cd9612d231779134ffd58002c9"} device-1 | {"level":"info","message":"GET /devices/57a33492-c784-4665-ab93-6e92fe7c27fc? 200 20ms","method":"GET","requestID":"784038cd9612d231779134ffd58002c9","responseTime":20,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"784038cd9612d231779134ffd58002c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"a275c401d2399efcd6206862a9c07d04","responseTime":29,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.895648,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762496,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY"} authorization-1 | {"level":"info","message":"POST /authorize 200 52ms","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":"a275c401d2399efcd6206862a9c07d04"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":52}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"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:40588","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.047646,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762496,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY"} 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":"8e052b50-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.430242211Z"}]},"request_id":"3dc0d826-ebff-4888-84e1-79daeaa87372","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.2058668} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175? 200 57ms","method":"GET","requestID":"8e052b50-24c7-11ef-b353-d1d4e8136596","responseTime":57,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e052b50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":37}} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.10725,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762496,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY"} authorization-1 | {"level":"info","message":"POST /authorize 200 56ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e057970-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":56}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.583430241Z"}]},"request_id":"c7844f33-d2d0-465c-87fb-3bdeb7d16985","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.2256668} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/57a33492-c784-4665-ab93-6e92fe7c27fc? 200 96ms","method":"GET","requestID":"8e057970-24c7-11ef-b353-d1d4e8136596","responseTime":96,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Attempting to lock booking for experiment"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e057970-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"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/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.026169,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.086044,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762496,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e362660-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762496,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY"} authorization-1 | {"level":"info","message":"POST /authorize 200 50ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e367480-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":50}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.583430241Z"}]},"request_id":"15362ec7-b3b6-45cb-a63b-4728fbc92b48","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.5664241} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/57a33492-c784-4665-ab93-6e92fe7c27fc? 200 93ms","method":"GET","requestID":"8e367480-24c7-11ef-b353-d1d4e8136596","responseTime":93,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e367480-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"223f4bba-ac4d-4d8e-af1e-ddb6af3f839a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.5705435} authorization-1 | {"client_addr":"127.0.0.1:39888","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:39888","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.482351,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling 200 107ms","method":"POST","requestID":"8e36e9b0-24c7-11ef-b353-d1d4e8136596","responseTime":107,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 66ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e36e9b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":66}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.430242211Z"}]},"request_id":"80e5b666-234d-472e-a204-ed0ea05efcc0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.5784566} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e362660-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbcbc9002-1525-478d-ac0a-0c01142a8a11#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbcbc9002-1525-478d-ac0a-0c01142a8a11","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"6fa878ba-1d7a-4bc6-a69d-d0ba35c331b4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.6031244} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b42c098d-069a-4f4d-b387-2b69bf7a2538","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.6040015} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175? 200 130ms","method":"GET","requestID":"8e362660-24c7-11ef-b353-d1d4e8136596","responseTime":130,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 91ms","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":"a275c401d2399efcd6206862a9c07d04"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":91}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70947275-c629-4108-8da9-c525696aa09b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.608748} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.639623,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e47d9a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":43}} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling 200 58ms","method":"POST","requestID":"8e47d9a0-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41215fab-aa85-47a9-a45b-2a417bffc083","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.650639} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.818894,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} gateway-1 | {"time_local":"07/Jun/2024:12:14:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.739","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a275c401d2399efcd6206862a9c07d04"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e4ae6e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} experiment-1 | {"level":"info","message":"POST /experiments? 201 713ms","method":"POST","requestID":"a275c401d2399efcd6206862a9c07d04","responseTime":713,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5N30.06P4qoxteGB6BoTIRyrZtkiu5UfM-xgePImMIwDuXUM","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8a5d4f952f4b432817d5976a90cd9167","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling 200 49ms","method":"POST","requestID":"8e4ae6e0-24c7-11ef-b353-d1d4e8136596","responseTime":49,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.992706,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762497,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5N30.06P4qoxteGB6BoTIRyrZtkiu5UfM-xgePImMIwDuXUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 52ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a5d4f952f4b432817d5976a90cd9167"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":52}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.430242211Z"}]},"request_id":"c0c44c49-58f3-4ab5-9970-f45160f7e905","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.724341} 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":"8a5d4f952f4b432817d5976a90cd9167"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4477b6cd-07d2-4b5e-8d35-217eefbf8bfe","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.727792} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.367622,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"07/Jun/2024:12:14:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.080","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a5d4f952f4b432817d5976a90cd9167"} device-1 | {"level":"info","message":"GET /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175? 200 74ms","method":"GET","requestID":"8a5d4f952f4b432817d5976a90cd9167","responseTime":74,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175?"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e5b61a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5N30.06P4qoxteGB6BoTIRyrZtkiu5UfM-xgePImMIwDuXUM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"547d24b2483c585c253b78216f083482","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling 200 51ms","method":"POST","requestID":"8e5b61a0-24c7-11ef-b353-d1d4e8136596","responseTime":51,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"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":"1d774b46-bd4c-4f84-8019-078eacd71cbb"},{"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":"547b4faa-5968-4c98-8864-6c3388ca2b97"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"aeba589f-1587-4c3e-a08b-c97f69bd18e0"}]},"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/fb26e222-09e5-46f6-b7f0-7f0290e4f175"},{"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/57a33492-c784-4665-ab93-6e92fe7c27fc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.999055,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.700969,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762497,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5N30.06P4qoxteGB6BoTIRyrZtkiu5UfM-xgePImMIwDuXUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"547d24b2483c585c253b78216f083482"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762496,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjQ5Nn0.KXhX0kLLFEFVo6DRf4re4rs0LJn1PXl8kX_FjkiTygY"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","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":"8e643b40-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:14:53.583430241Z"}]},"request_id":"1fec94fe-60b3-4aee-8e16-37b97d94eff5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.8247633} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"547d24b2483c585c253b78216f083482"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:14:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/57a33492-c784-4665-ab93-6e92fe7c27fc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.107","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"547d24b2483c585c253b78216f083482"} device-1 | {"level":"info","message":"GET /devices/57a33492-c784-4665-ab93-6e92fe7c27fc? 200 72ms","method":"GET","requestID":"547d24b2483c585c253b78216f083482","responseTime":72,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"6fd99e11-df51-47ca-b44c-2dee8d6ef5ad","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.8439171} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33af055a-677c-4cf6-b907-b75dbd7f8da6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762497.8452964} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e643b40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2'"} 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 119ms","method":"POST","requestID":"8e643b40-24c7-11ef-b353-d1d4e8136596","responseTime":119,"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/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:58Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.920059,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:58Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff37fdd7-fc80-4d35-b2cb-11c2e59ae60c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762498.0870292} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e925020-24c7-11ef-b353-d1d4e8136596"},"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/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling 200 12ms","method":"POST","requestID":"8e925020-24c7-11ef-b353-d1d4e8136596","responseTime":12,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:14:58Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.301051,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:14:58Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08fe8314-c00f-4846-b470-b97e7f2710b6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762498.1277866} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e94c120-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling 200 38ms","method":"POST","requestID":"8e94c120-24c7-11ef-b353-d1d4e8136596","responseTime":38,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling"} device-1 | {"data":{"peerconnection":"b0cc84fd-8c01-4909-b96a-5c18e08e34a2","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/b0cc84fd-8c01-4909-b96a-5c18e08e34a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b0cc84fd-8c01-4909-b96a-5c18e08e34a2","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8aa7487944d49c5c5148fc3fc76412e6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175"},{"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/57a33492-c784-4665-ab93-6e92fe7c27fc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"8aa7487944d49c5c5148fc3fc76412e6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"8aa7487944d49c5c5148fc3fc76412e6","responseTime":46,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175'"} device-1 | {"data":{"peerconnection":"b0cc84fd-8c01-4909-b96a-5c18e08e34a2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b0cc84fd-8c01-4909-b96a-5c18e08e34a2","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b0cc84fd-8c01-4909-b96a-5c18e08e34a2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1e192dda9ee1a5ae5e4d3e32e68a6a17","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/fb26e222-09e5-46f6-b7f0-7f0290e4f175"},{"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/57a33492-c784-4665-ab93-6e92fe7c27fc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0cc84fd-8c01-4909-b96a-5c18e08e34a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bb2536e-6498-410a-9cce-f8f4391c6a73","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762500.2379756} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.119912,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMH0.Ja7v5Aq_BxVBdXkS-HkS6XqtQRPtuLgsMoNsfzEV3O4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"ad089d538484d40660f70e91bdec837c","responseTime":34,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2 200 40ms","method":"GET","requestID":"8fda6080-24c7-11ef-b353-d1d4e8136596","responseTime":40,"status":200,"url":"/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","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":"8fda6080-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.942025,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762500,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMH0.Ja7v5Aq_BxVBdXkS-HkS6XqtQRPtuLgsMoNsfzEV3O4"} 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":"ad089d538484d40660f70e91bdec837c"},"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/bcbc9002-1525-478d-ac0a-0c01142a8a11"} experiment-1 | {"level":"info","message":"GET /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11 200 48ms","method":"GET","requestID":"ad089d538484d40660f70e91bdec837c","responseTime":48,"status":200,"url":"/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"} gateway-1 | {"time_local":"07/Jun/2024:12:15:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad089d538484d40660f70e91bdec837c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"1e192dda9ee1a5ae5e4d3e32e68a6a17","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e192dda9ee1a5ae5e4d3e32e68a6a17"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":14.479919,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d81d349-0422-42bb-9304-ceeef30f7b53","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762500.3831236} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fefbd40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling 200 64ms","method":"POST","requestID":"8fefbd40-24c7-11ef-b353-d1d4e8136596","responseTime":64,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMH0.Ja7v5Aq_BxVBdXkS-HkS6XqtQRPtuLgsMoNsfzEV3O4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"607b4c43651f69290f4f2f6f7aa74e56","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"428851ef-63c9-4eda-9872-e6ad7c21f736","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762500.4783556} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.486644,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ffa6ba0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":38}} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.129333,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762500,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMH0.Ja7v5Aq_BxVBdXkS-HkS6XqtQRPtuLgsMoNsfzEV3O4"} 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":"607b4c43651f69290f4f2f6f7aa74e56"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling 200 86ms","method":"POST","requestID":"8ffa6ba0-24c7-11ef-b353-d1d4e8136596","responseTime":86,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"} experiment-1 | {"level":"info","message":"GET /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11 200 81ms","method":"GET","requestID":"607b4c43651f69290f4f2f6f7aa74e56","responseTime":81,"status":200,"url":"/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"} gateway-1 | {"time_local":"07/Jun/2024:12:15:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11 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":"607b4c43651f69290f4f2f6f7aa74e56"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMH0.Ja7v5Aq_BxVBdXkS-HkS6XqtQRPtuLgsMoNsfzEV3O4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"f2d3ec31aaa4b57ebc0525e69d3e2221","responseTime":8,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.922744,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762500,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMH0.Ja7v5Aq_BxVBdXkS-HkS6XqtQRPtuLgsMoNsfzEV3O4"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","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":"f2d3ec31aaa4b57ebc0525e69d3e2221"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Attempting to finish experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.931691,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762500,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMH0.Ja7v5Aq_BxVBdXkS-HkS6XqtQRPtuLgsMoNsfzEV3O4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","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":"901546a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b0cc84fd-8c01-4909-b96a-5c18e08e34a2","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"719ddc94189d3eabae0398114a9cf4a9","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/fb26e222-09e5-46f6-b7f0-7f0290e4f175"},{"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/57a33492-c784-4665-ab93-6e92fe7c27fc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"72454a9c3bfe64ce5df99123321e00d9","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0cc84fd-8c01-4909-b96a-5c18e08e34a2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0cc84fd-8c01-4909-b96a-5c18e08e34a2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"e32d07e3-4298-4bd4-a1f4-7e52dd6755cf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762500.6642895} 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/fb26e222-09e5-46f6-b7f0-7f0290e4f175"},{"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/57a33492-c784-4665-ab93-6e92fe7c27fc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2"}}},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9bf47946-1690-4864-a081-4eafcc3dc62b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762500.6647427} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"901546a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"data":{"peerconnection":"b0cc84fd-8c01-4909-b96a-5c18e08e34a2","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/b0cc84fd-8c01-4909-b96a-5c18e08e34a2 204 119ms","method":"DELETE","requestID":"901546a0-24c7-11ef-b353-d1d4e8136596","responseTime":119,"status":204,"url":"/peerconnections/b0cc84fd-8c01-4909-b96a-5c18e08e34a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.014849,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb26e222-09e5-46f6-b7f0-7f0290e4f175","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8c58b37-8a50-42d0-9774-2b95ebffb7d5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762500.7969017} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"902fac70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling 200 45ms","method":"POST","requestID":"902fac70-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57a33492-c784-4665-ab93-6e92fe7c27fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49d50773-3085-4fc4-87f9-02095a4f9182","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762500.8500092} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.049703,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9036d860-24c7-11ef-b353-d1d4e8136596"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8a3b8ea-efc6-4809-b31b-2b34b00df091","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762500.8534882} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbcbc9002-1525-478d-ac0a-0c01142a8a11': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbcbc9002-1525-478d-ac0a-0c01142a8a11","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"654b0d17-8b05-4871-861d-8fbd82e2f635","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762500.854964} authorization-1 | {"level":"info","message":"POST /relations/update 200 67ms","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":"f2d3ec31aaa4b57ebc0525e69d3e2221"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":67}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling 200 54ms","method":"POST","requestID":"9036d860-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/devices/57a33492-c784-4665-ab93-6e92fe7c27fc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"} experiment-1 | {"level":"info","message":"DELETE /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11 204 528ms","method":"DELETE","requestID":"f2d3ec31aaa4b57ebc0525e69d3e2221","responseTime":528,"status":204,"url":"/experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11"} gateway-1 | {"time_local":"07/Jun/2024:12:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bcbc9002-1525-478d-ac0a-0c01142a8a11 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.535","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2d3ec31aaa4b57ebc0525e69d3e2221"} gateway-1 | {"time_local":"07/Jun/2024:12:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2837","request_time":"5.229","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5687f8bfcf15a151b74b75e1b310ab89"} gateway-1 | {"time_local":"07/Jun/2024:12:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"4.288","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7898c77d98a89178563088e9a18835c3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMX0.VDs0Z8aTtj3DgcFNjyjdf9-lTV_UnkD1dBiuI2DgDOk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"de7bcf2983e71fe197e96d2202ea3922","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 433ms","method":"POST","requestID":"719ddc94189d3eabae0398114a9cf4a9","responseTime":433,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.039156,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:01Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 432ms","method":"POST","requestID":"72454a9c3bfe64ce5df99123321e00d9","responseTime":432,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762501,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMX0.VDs0Z8aTtj3DgcFNjyjdf9-lTV_UnkD1dBiuI2DgDOk"} 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":"de7bcf2983e71fe197e96d2202ea3922"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"07/Jun/2024:12:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.448","http_referrer":"","http_user_agent":"node-fetch","requestID":"719ddc94189d3eabae0398114a9cf4a9"} gateway-1 | {"time_local":"07/Jun/2024:12:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.439","http_referrer":"","http_user_agent":"node-fetch","requestID":"72454a9c3bfe64ce5df99123321e00d9"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fb26e222-09e5-46f6-b7f0-7f0290e4f175' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/57a33492-c784-4665-ab93-6e92fe7c27fc' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bc6691f1-4e79-4f43-a4e8-6303e0e39183","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.2045755} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de7bcf2983e71fe197e96d2202ea3922"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03de120a-c568-4575-8a5e-f0669f24e556","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.2131467} 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":"de7bcf2983e71fe197e96d2202ea3922"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f234906-f29d-4196-896a-81f5eb904470","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.2765608} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"fc47c657-17b3-42ac-b73d-4ee742a94b70","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.2779534} authorization-1 | {"level":"info","message":"POST /relations/update 200 102ms","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":"de7bcf2983e71fe197e96d2202ea3922"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":102}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.277921357Z"}]},"request_id":"c4ffc458-c634-4310-9401-43699731e855","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.3196943} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 235ms","method":"POST","requestID":"de7bcf2983e71fe197e96d2202ea3922","responseTime":235,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de7bcf2983e71fe197e96d2202ea3922"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.253","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de7bcf2983e71fe197e96d2202ea3922"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMX0.VDs0Z8aTtj3DgcFNjyjdf9-lTV_UnkD1dBiuI2DgDOk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"692df05a100320188c6ebddd5b8bb632","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":29.023527,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762501,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMX0.VDs0Z8aTtj3DgcFNjyjdf9-lTV_UnkD1dBiuI2DgDOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","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":"692df05a100320188c6ebddd5b8bb632"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3ff80619-b0b7-49b9-bc27-4b02c1b6e0ba","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.433759} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"692df05a100320188c6ebddd5b8bb632"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4778c92-6dfe-43ae-99c3-2754fba4c0a4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.4407973} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"692df05a100320188c6ebddd5b8bb632"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"d77a9bcc-f357-45ab-a1bd-f50975161e85","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.4559653} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e2ebe41-f064-4b69-a3f8-2d047bce5575","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.457275} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","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":"692df05a100320188c6ebddd5b8bb632"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":42}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.455936980Z"}]},"request_id":"278b60b9-753e-49bb-bec0-e0d689fb082f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762501.4891453} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"692df05a100320188c6ebddd5b8bb632"} device-1 | {"level":"info","message":"POST /devices? 201 181ms","method":"POST","requestID":"692df05a100320188c6ebddd5b8bb632","responseTime":181,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"692df05a100320188c6ebddd5b8bb632"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":27}} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMn0.JyWftoo8mDnlgzfsELRG9A0n0in7WHRyZmj3nIGCwWg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"f3d3083430a31caf28618fb5e6ffc9c4","responseTime":34,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:02Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867424,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762502,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMn0.JyWftoo8mDnlgzfsELRG9A0n0in7WHRyZmj3nIGCwWg"} 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":"f3d3083430a31caf28618fb5e6ffc9c4"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.455936980Z"}]},"request_id":"ae1963e5-4a08-453f-a940-2ddf45429fe1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762502.9217157} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3d3083430a31caf28618fb5e6ffc9c4"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d2f30a6-89e9-47cb-a17d-ccfe782f7519","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762502.9280937} 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":"f3d3083430a31caf28618fb5e6ffc9c4"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.455936980Z"}]},"request_id":"3dbb2b33-bcab-4e3a-91f7-6c2419386da5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762502.9546435} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3d3083430a31caf28618fb5e6ffc9c4"},"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/ef4280e3-92eb-4579-acac-922a619754b6 200 51ms","method":"PATCH","requestID":"f3d3083430a31caf28618fb5e6ffc9c4","responseTime":51,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6"} gateway-1 | {"time_local":"07/Jun/2024:12:15:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ef4280e3-92eb-4579-acac-922a619754b6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.086","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f3d3083430a31caf28618fb5e6ffc9c4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMn0.JyWftoo8mDnlgzfsELRG9A0n0in7WHRyZmj3nIGCwWg","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e40ceec0e37cc45b6ea7433934e8cbc5","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:02Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895879,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762502,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwMn0.JyWftoo8mDnlgzfsELRG9A0n0in7WHRyZmj3nIGCwWg"} 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":"e40ceec0e37cc45b6ea7433934e8cbc5"},"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":"07/Jun/2024:12:15:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ef4280e3-92eb-4579-acac-922a619754b6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e40ceec0e37cc45b6ea7433934e8cbc5"} device-1 | {"level":"info","message":"POST /devices/ef4280e3-92eb-4579-acac-922a619754b6/websocket 200 28ms","method":"POST","requestID":"e40ceec0e37cc45b6ea7433934e8cbc5","responseTime":28,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1f95109d73f089efa86017c29f479f50","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/websocket 200 0ms","method":"OPTIONS","requestID":"1f95109d73f089efa86017c29f479f50","responseTime":0,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:15:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1f95109d73f089efa86017c29f479f50"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2ae9f3d640c050a95992554df96fa329","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938495,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} 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":"2ae9f3d640c050a95992554df96fa329"},"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/ee5621f6-3084-41a2-9273-61c0c57e82ff/websocket 200 56ms","method":"POST","requestID":"2ae9f3d640c050a95992554df96fa329","responseTime":56,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:15:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.062","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2ae9f3d640c050a95992554df96fa329"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"01fb6c9452a8dfdd673f05fb7af064f8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.824274,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} 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":"01fb6c9452a8dfdd673f05fb7af064f8"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.277921357Z"}]},"request_id":"d776396a-ec7e-4972-9bd0-8e1fc573b515","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.3446248} 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":"01fb6c9452a8dfdd673f05fb7af064f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff? 200 43ms","method":"GET","requestID":"01fb6c9452a8dfdd673f05fb7af064f8","responseTime":43,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01fb6c9452a8dfdd673f05fb7af064f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"12c965318873d123cfa1ee471007d46d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963902,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} 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":"12c965318873d123cfa1ee471007d46d"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.455936980Z"}]},"request_id":"2e4d0cad-5530-48d1-a9ac-316da17c2d9a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.3981063} 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":"12c965318873d123cfa1ee471007d46d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ef4280e3-92eb-4579-acac-922a619754b6? 200 21ms","method":"GET","requestID":"12c965318873d123cfa1ee471007d46d","responseTime":21,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef4280e3-92eb-4579-acac-922a619754b6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12c965318873d123cfa1ee471007d46d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a21cae0fbb746c41ad96f9ffa33d4aeb","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:40588","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.944088,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","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":"a21cae0fbb746c41ad96f9ffa33d4aeb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"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:40588","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926176,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926ccb30-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309474,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926d4060-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.277921357Z"}]},"request_id":"6252ec05-7f6c-4ec7-a724-7a4b4be15b3e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.592464} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.455936980Z"}]},"request_id":"d0704ad3-ca05-45c5-a573-a85675804035","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.5926948} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926d4060-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"926ccb30-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ef4280e3-92eb-4579-acac-922a619754b6? 200 59ms","method":"GET","requestID":"926d4060-24c7-11ef-b353-d1d4e8136596","responseTime":59,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff? 200 70ms","method":"GET","requestID":"926ccb30-24c7-11ef-b353-d1d4e8136596","responseTime":70,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92535,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.057849,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92914320-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92919140-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5ddcbd8-6f6f-4ea2-905c-381d56cbc822","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.816688} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.009026,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9291df60-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.455936980Z"}]},"request_id":"ac081aa8-7caa-45fa-a4b8-4a86963c63ed","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.8565657} authorization-1 | {"level":"info","message":"POST /relations/query 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92919140-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":33}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling 200 78ms","method":"POST","requestID":"9291df60-24c7-11ef-b353-d1d4e8136596","responseTime":78,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ef4280e3-92eb-4579-acac-922a619754b6? 200 81ms","method":"GET","requestID":"92919140-24c7-11ef-b353-d1d4e8136596","responseTime":81,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc79679a9-7651-4439-9c20-6c6ba62e323f#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc79679a9-7651-4439-9c20-6c6ba62e323f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"2664d351-f505-498d-aac6-a1a548344725","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.8686898} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.277921357Z"}]},"request_id":"fceae779-8a3f-4a7e-b475-dfacc2e0b974","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.868978} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31d78d78-e124-45db-a0f4-7b664a342cb5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.8695185} authorization-1 | {"level":"info","message":"POST /relations/update 200 58ms","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":"a21cae0fbb746c41ad96f9ffa33d4aeb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":58}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92914320-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.169624,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f742ab4-d237-4454-8ee9-880c34b1f79a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.9221947} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"GET /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff? 200 138ms","method":"GET","requestID":"92914320-24c7-11ef-b353-d1d4e8136596","responseTime":138,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff?"} experiment-1 | {"level":"info","message":"POST /experiments? 201 511ms","method":"POST","requestID":"a21cae0fbb746c41ad96f9ffa33d4aeb","responseTime":511,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"929eb0a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} gateway-1 | {"time_local":"07/Jun/2024:12:15:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.518","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a21cae0fbb746c41ad96f9ffa33d4aeb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 17ms","method":"GET","requestID":"dc285a0e4b14bec4a20629e375d607dc","responseTime":17,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.368242,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25bc7ea3-4628-411e-bc10-4cd5468c8921","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762504.9465806} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92a7d860-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.795784,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} 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":"dc285a0e4b14bec4a20629e375d607dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"POST /devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling 200 79ms","method":"POST","requestID":"929eb0a0-24c7-11ef-b353-d1d4e8136596","responseTime":79,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.277921357Z"}]},"request_id":"cc9bf3d4-6aeb-412f-a648-d4539284e8c3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762505.0004447} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc285a0e4b14bec4a20629e375d607dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc285a0e4b14bec4a20629e375d607dc"} device-1 | {"level":"info","message":"POST /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling 200 79ms","method":"POST","requestID":"92a7d860-24c7-11ef-b353-d1d4e8136596","responseTime":79,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff? 200 77ms","method":"GET","requestID":"dc285a0e4b14bec4a20629e375d607dc","responseTime":77,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNX0.LSrdQxPCsEF_NPr5VOfJ4yR1D1nn-K4RzMnh2P6S3TY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bb0393bf5f34f5d1bdcd9fde90d33863","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.892292,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.789955,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762505,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNX0.LSrdQxPCsEF_NPr5VOfJ4yR1D1nn-K4RzMnh2P6S3TY"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb0393bf5f34f5d1bdcd9fde90d33863"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19301cfe-687b-4fe7-8b55-045178a9e82c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762505.0313456} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92b545e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":42}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling 200 49ms","method":"POST","requestID":"92b545e0-24c7-11ef-b353-d1d4e8136596","responseTime":49,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:01.455936980Z"}]},"request_id":"4a5a59d5-b6fa-43b2-9628-15e8ac5a2d70","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762505.0724413} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"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":"86b375ce-5280-4b16-a57b-1770aa380dbb"},{"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":"3373b17f-2ac0-48fa-8299-b5ef4fafa40b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b0ed36ba-58c9-4a23-b809-037e9e41a55a"}]},"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/ee5621f6-3084-41a2-9273-61c0c57e82ff"},{"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/ef4280e3-92eb-4579-acac-922a619754b6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb0393bf5f34f5d1bdcd9fde90d33863"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"07/Jun/2024:12:15:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef4280e3-92eb-4579-acac-922a619754b6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb0393bf5f34f5d1bdcd9fde90d33863"} device-1 | {"level":"info","message":"GET /devices/ef4280e3-92eb-4579-acac-922a619754b6? 200 59ms","method":"GET","requestID":"bb0393bf5f34f5d1bdcd9fde90d33863","responseTime":59,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6?"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.94473,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762504,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwNH0.bKQkwAktMN1k2bHE1HREUMvU9XUTdJHt-NqfdmDSaUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","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":"92bd8340-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"866e992f-2ea3-4876-883a-b0cc12dea5ed","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762505.1404822} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0923d979-2898-4b23-8d07-756458334ab0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762505.14176} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"92bd8340-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} 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/9c9b55e6-4636-403f-8b69-a248bc2a9ea9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9'"} 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 90ms","method":"POST","requestID":"92bd8340-24c7-11ef-b353-d1d4e8136596","responseTime":90,"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/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cae9aad-f83b-499e-88b8-4a23b9eb6cc5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762505.3608997} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.563132,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92e72b50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling 200 49ms","method":"POST","requestID":"92e72b50-24c7-11ef-b353-d1d4e8136596","responseTime":49,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":12.746861,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:05Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02c1430a-0c07-4ad2-8556-f89eedbdc310","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762505.4169557} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92ef41a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling 200 36ms","method":"POST","requestID":"92ef41a0-24c7-11ef-b353-d1d4e8136596","responseTime":36,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling"} device-1 | {"data":{"peerconnection":"9c9b55e6-4636-403f-8b69-a248bc2a9ea9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ecc04907d849419815a5047235a37dcd","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/ee5621f6-3084-41a2-9273-61c0c57e82ff"},{"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/ef4280e3-92eb-4579-acac-922a619754b6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9c9b55e6-4636-403f-8b69-a248bc2a9ea9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff'"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"ecc04907d849419815a5047235a37dcd","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"ecc04907d849419815a5047235a37dcd"} device-1 | {"data":{"peerconnection":"9c9b55e6-4636-403f-8b69-a248bc2a9ea9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9c9b55e6-4636-403f-8b69-a248bc2a9ea9","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/9c9b55e6-4636-403f-8b69-a248bc2a9ea9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9c9b55e6-4636-403f-8b69-a248bc2a9ea9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a5d01ecb8608f486f250fc3531255620","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/ee5621f6-3084-41a2-9273-61c0c57e82ff"},{"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/ef4280e3-92eb-4579-acac-922a619754b6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.106932,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9c9b55e6-4636-403f-8b69-a248bc2a9ea9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edf3b44b-65dc-4355-9a6f-08599546dbd1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762507.6271596} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9","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":"9441d950-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9 200 35ms","method":"GET","requestID":"9441d950-24c7-11ef-b353-d1d4e8136596","responseTime":35,"status":200,"url":"/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwN30.5n52Eri1R4uc_zyPlg7GdpSOqwIylezD8MihgiHaflk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e68a2ee337e6554f2fb18d2c4e527cd1","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"a5d01ecb8608f486f250fc3531255620","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"a5d01ecb8608f486f250fc3531255620"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":4.635831,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762507,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwN30.5n52Eri1R4uc_zyPlg7GdpSOqwIylezD8MihgiHaflk"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","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":"e68a2ee337e6554f2fb18d2c4e527cd1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.113088,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0edecda5-c032-4900-87cf-dd70ded25cc7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762507.7600276} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling 200 46ms","method":"POST","requestID":"9451b7d0-24c7-11ef-b353-d1d4e8136596","responseTime":46,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9451b7d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} gateway-1 | {"time_local":"07/Jun/2024:12:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c79679a9-7651-4439-9c20-6c6ba62e323f HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e68a2ee337e6554f2fb18d2c4e527cd1"} experiment-1 | {"level":"info","message":"GET /experiments/c79679a9-7651-4439-9c20-6c6ba62e323f 200 55ms","method":"GET","requestID":"e68a2ee337e6554f2fb18d2c4e527cd1","responseTime":55,"status":200,"url":"/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwN30.5n52Eri1R4uc_zyPlg7GdpSOqwIylezD8MihgiHaflk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4e270b5ec9d5f9c86a0c34035106a5f3","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:07Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a8048f6-952a-4bc0-8f92-240a91788729","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762507.810487} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.759577,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9459a710-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} authorization-1 | {"client_addr":"127.0.0.1:39886","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.799012,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762507,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwN30.5n52Eri1R4uc_zyPlg7GdpSOqwIylezD8MihgiHaflk"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling 200 44ms","method":"POST","requestID":"9459a710-24c7-11ef-b353-d1d4e8136596","responseTime":44,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"4e270b5ec9d5f9c86a0c34035106a5f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.001534,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762507,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwN30.5n52Eri1R4uc_zyPlg7GdpSOqwIylezD8MihgiHaflk"} 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":"9466c670-24c7-11ef-b353-d1d4e8136596"},"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/9c9b55e6-4636-403f-8b69-a248bc2a9ea9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9c9b55e6-4636-403f-8b69-a248bc2a9ea9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bf97d2428acbaa470edf3d3801f21167","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff"},{"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/ef4280e3-92eb-4579-acac-922a619754b6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} 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/ee5621f6-3084-41a2-9273-61c0c57e82ff"},{"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/ef4280e3-92eb-4579-acac-922a619754b6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b210e88b90a785b2224193c43282d64","responseTime":4,"status":200,"url":"/auth"} device-1 | {"data":{"peerconnection":"9c9b55e6-4636-403f-8b69-a248bc2a9ea9","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9c9b55e6-4636-403f-8b69-a248bc2a9ea9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9c9b55e6-4636-403f-8b69-a248bc2a9ea9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"eb375779-f3a7-479b-bd97-335312f1aafe","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.0245297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33bc5c8e-806f-4af0-984e-defec3c9bb82","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.0250802} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","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":"9466c670-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":47}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9 204 224ms","method":"DELETE","requestID":"9466c670-24c7-11ef-b353-d1d4e8136596","responseTime":224,"status":204,"url":"/peerconnections/9c9b55e6-4636-403f-8b69-a248bc2a9ea9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:08Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee5621f6-3084-41a2-9273-61c0c57e82ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12167df8-7a61-441f-9714-4d44365103b2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.1846712} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.566395,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling 200 18ms","method":"POST","requestID":"949661f0-24c7-11ef-b353-d1d4e8136596","responseTime":18,"status":200,"url":"/devices/ee5621f6-3084-41a2-9273-61c0c57e82ff/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"949661f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:08Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef4280e3-92eb-4579-acac-922a619754b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6caf84ee-cfec-4d5f-b8c1-60e4e53d15ad","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.2304602} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.504774,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9499bd50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling 200 85ms","method":"POST","requestID":"9499bd50-24c7-11ef-b353-d1d4e8136596","responseTime":85,"status":200,"url":"/devices/ef4280e3-92eb-4579-acac-922a619754b6/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc79679a9-7651-4439-9c20-6c6ba62e323f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc79679a9-7651-4439-9c20-6c6ba62e323f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"82df59a0-9651-4c83-9b94-e672d5d766f8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.2885454} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c20fa9fe-5c6b-4778-a1d4-51f5dcd92285","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.2891772} authorization-1 | {"level":"info","message":"POST /relations/update 200 119ms","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":"4e270b5ec9d5f9c86a0c34035106a5f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":119}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwOH0.ACNhSB-PCfbg-ABsw_MeXgIoT3IwmKeruSRU6gveX5I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fcb238d875bce5b53f1febbf48bf5bb3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"07/Jun/2024:12:15:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c79679a9-7651-4439-9c20-6c6ba62e323f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.658","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e270b5ec9d5f9c86a0c34035106a5f3"} gateway-1 | {"time_local":"07/Jun/2024:12:15:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2836","request_time":"5.424","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8552c45c049864370702ef657c4657fd"} gateway-1 | {"time_local":"07/Jun/2024:12:15:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"4.195","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"81c7533deebf3387118bc5c87edb7d08"} experiment-1 | {"level":"info","message":"DELETE /experiments/c79679a9-7651-4439-9c20-6c6ba62e323f 204 676ms","method":"DELETE","requestID":"4e270b5ec9d5f9c86a0c34035106a5f3","responseTime":676,"status":204,"url":"/experiments/c79679a9-7651-4439-9c20-6c6ba62e323f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 564ms","method":"POST","requestID":"bf97d2428acbaa470edf3d3801f21167","responseTime":564,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.570","http_referrer":"","http_user_agent":"node-fetch","requestID":"bf97d2428acbaa470edf3d3801f21167"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.882964,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762508,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwOH0.ACNhSB-PCfbg-ABsw_MeXgIoT3IwmKeruSRU6gveX5I"} 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":"fcb238d875bce5b53f1febbf48bf5bb3"},"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/ee5621f6-3084-41a2-9273-61c0c57e82ff' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 581ms","method":"POST","requestID":"0b210e88b90a785b2224193c43282d64","responseTime":581,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.590","http_referrer":"","http_user_agent":"node-fetch","requestID":"0b210e88b90a785b2224193c43282d64"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ef4280e3-92eb-4579-acac-922a619754b6' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ab9d2927-2b27-447e-aa7d-90753a10764b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.5972986} 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":"fcb238d875bce5b53f1febbf48bf5bb3"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de3bcb43-ceba-459b-b710-10e7d31fb9ab","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.6048393} 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":"fcb238d875bce5b53f1febbf48bf5bb3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"5291b25e-5bf4-4518-add2-2917afe45c7d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.6482043} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19bd7369-99d9-4df7-8381-606867504a81","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.6496637} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","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":"fcb238d875bce5b53f1febbf48bf5bb3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":48}} device-1 | {"level":"info","message":"postDevices 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.648174051Z"}]},"request_id":"f6784ff2-6800-47cd-a18e-ac3f734aafc2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.6595175} 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":"fcb238d875bce5b53f1febbf48bf5bb3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"POST /devices? 201 214ms","method":"POST","requestID":"fcb238d875bce5b53f1febbf48bf5bb3","responseTime":214,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcb238d875bce5b53f1febbf48bf5bb3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwOH0.ACNhSB-PCfbg-ABsw_MeXgIoT3IwmKeruSRU6gveX5I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 19ms","method":"GET","requestID":"5988ac6c860b91db328810acd6f8a140","responseTime":19,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.980788,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762508,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUwOH0.ACNhSB-PCfbg-ABsw_MeXgIoT3IwmKeruSRU6gveX5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5988ac6c860b91db328810acd6f8a140"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"27b257ba-65b0-4203-8d4b-372fcd417c86","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.8481197} authorization-1 | {"level":"info","message":"POST /relations/query 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5988ac6c860b91db328810acd6f8a140"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":38}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5801ce7c-73d1-4ea8-be7a-715d4305086d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.8617053} 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":"5988ac6c860b91db328810acd6f8a140"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"12643dfa-b91a-4961-9ea5-5ecae1f49970","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.9084058} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f511c7a-913a-4557-8255-736df6f14fe1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.9090889} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","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":"5988ac6c860b91db328810acd6f8a140"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":49}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.908378298Z"}]},"request_id":"a4f0611d-d0b7-487e-99f2-5e2b76f28a50","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762508.915235} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5988ac6c860b91db328810acd6f8a140"},"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 204ms","method":"POST","requestID":"5988ac6c860b91db328810acd6f8a140","responseTime":204,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.225","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5988ac6c860b91db328810acd6f8a140"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMX0.H4tHXLVmrPzW2L9FXFVbWreul4akayDWBZoTzdfvsBo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cbe1ca38ecf80aa993df3077618bab01","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140745,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762511,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMX0.H4tHXLVmrPzW2L9FXFVbWreul4akayDWBZoTzdfvsBo"} 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":"cbe1ca38ecf80aa993df3077618bab01"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.648174051Z"}]},"request_id":"f61a46d9-b888-40bb-908e-e7b289c97ad4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762511.10037} 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":"cbe1ca38ecf80aa993df3077618bab01"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ef97abb-5348-4c33-8916-ae816f2650a6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762511.1077049} 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":"cbe1ca38ecf80aa993df3077618bab01"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"patchDevicesByDeviceId 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.648174051Z"}]},"request_id":"d5898a95-fc81-473a-ab34-eaa5373d4141","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762511.2012925} gateway-1 | {"time_local":"07/Jun/2024:12:15:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.150","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cbe1ca38ecf80aa993df3077618bab01"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbe1ca38ecf80aa993df3077618bab01"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"PATCH /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931 200 144ms","method":"PATCH","requestID":"cbe1ca38ecf80aa993df3077618bab01","responseTime":144,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMX0.H4tHXLVmrPzW2L9FXFVbWreul4akayDWBZoTzdfvsBo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e3949b86dbc626a6103eaeb155b03b58","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148748,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762511,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMX0.H4tHXLVmrPzW2L9FXFVbWreul4akayDWBZoTzdfvsBo"} 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":"e3949b86dbc626a6103eaeb155b03b58"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"07/Jun/2024:12:15:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e3949b86dbc626a6103eaeb155b03b58"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/websocket 200 47ms","method":"POST","requestID":"e3949b86dbc626a6103eaeb155b03b58","responseTime":47,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e24e683d09db1722915b29686ac1236b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/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":"e24e683d09db1722915b29686ac1236b"} device-1 | {"level":"info","message":"OPTIONS /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/websocket 200 1ms","method":"OPTIONS","requestID":"e24e683d09db1722915b29686ac1236b","responseTime":1,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3ea0476aeed07ece6775e8e5a1ff47ae","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919325,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762512,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ea0476aeed07ece6775e8e5a1ff47ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} gateway-1 | {"time_local":"07/Jun/2024:12:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.054","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3ea0476aeed07ece6775e8e5a1ff47ae"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/websocket 200 48ms","method":"POST","requestID":"3ea0476aeed07ece6775e8e5a1ff47ae","responseTime":48,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 46ms","method":"GET","requestID":"2ad642e2ab858cbe48d16f0d04e6e827","responseTime":46,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.633977,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762512,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ad642e2ab858cbe48d16f0d04e6e827"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.648174051Z"}]},"request_id":"341087e7-4922-439c-94b0-b8729996cd77","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762512.508375} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ad642e2ab858cbe48d16f0d04e6e827"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931? 200 93ms","method":"GET","requestID":"2ad642e2ab858cbe48d16f0d04e6e827","responseTime":93,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ad642e2ab858cbe48d16f0d04e6e827"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc715d381ec06dfbad05295ed686ac67","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945283,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762512,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc715d381ec06dfbad05295ed686ac67"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.908378298Z"}]},"request_id":"b397838d-2042-466d-9463-3de2bb438f35","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762512.6041253} authorization-1 | {"level":"info","message":"POST /relations/query 200 46ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc715d381ec06dfbad05295ed686ac67"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":46}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc715d381ec06dfbad05295ed686ac67"} device-1 | {"level":"info","message":"GET /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95? 200 113ms","method":"GET","requestID":"dc715d381ec06dfbad05295ed686ac67","responseTime":113,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 37ms","method":"GET","requestID":"8e4568a717a2d96a638ef1522e3a246b","responseTime":37,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.007883,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762512,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","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":"8e4568a717a2d96a638ef1522e3a246b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"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:40588","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908463,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762512,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE"} 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":"975a3ce0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.648174051Z"}]},"request_id":"d282b81c-e936-4096-b644-e58f6be4b5a2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762512.8256462} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"975a3ce0-24c7-11ef-b353-d1d4e8136596"},"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:47186","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"client_addr":"127.0.0.1:47186","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140976,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762512,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"975a63f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":36}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931? 200 46ms","method":"GET","requestID":"975a3ce0-24c7-11ef-b353-d1d4e8136596","responseTime":46,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.908378298Z"}]},"request_id":"2cafb455-4ceb-41d7-90dc-9fa3a43ab3e2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762512.8613994} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"975a63f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95? 200 53ms","method":"GET","requestID":"975a63f0-24c7-11ef-b353-d1d4e8136596","responseTime":53,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.123405,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762512,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE"} 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":"97891510-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.999482,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:47186","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:47186","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.215184,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762512,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"978a4d90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":38}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc67995b-3f39-4d41-9440-8dfa94a85ec3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.1715996} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 55ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"978b10e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":55}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.908378298Z"}]},"request_id":"1628b697-2d4b-4ddb-9f64-13cb8357f213","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.2263103} 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":"978a4d90-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.648174051Z"}]},"request_id":"78598400-6694-48d7-ac89-be8127120ab9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.2314863} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97891510-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce9619e3-c8f6-40b8-9e5e-a66060099b65#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce9619e3-c8f6-40b8-9e5e-a66060099b65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"8da2f9b6-deb7-4eaa-8f82-4831388aa040","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.237126} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4afd186-ac20-4e0b-932a-630a3109f1bc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.2385767} authorization-1 | {"level":"info","message":"POST /relations/update 200 77ms","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":"8e4568a717a2d96a638ef1522e3a246b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":77}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling 200 135ms","method":"POST","requestID":"978b10e0-24c7-11ef-b353-d1d4e8136596","responseTime":135,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95? 200 144ms","method":"GET","requestID":"978a4d90-24c7-11ef-b353-d1d4e8136596","responseTime":144,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931? 200 167ms","method":"GET","requestID":"97891510-24c7-11ef-b353-d1d4e8136596","responseTime":167,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 589ms","method":"POST","requestID":"8e4568a717a2d96a638ef1522e3a246b","responseTime":589,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.653","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e4568a717a2d96a638ef1522e3a246b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.693413,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"348a3317-d3fd-4647-8418-58bf496d2242","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.322507} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97a2b790-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxM30.x0b9PfAktI7yUS5z5zistyIZretPn3by628NpbsFAyg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"2699decdf8657a8ebde5be97cf17e613","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling 200 89ms","method":"POST","requestID":"97a2b790-24c7-11ef-b353-d1d4e8136596","responseTime":89,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.486519,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:47186","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:47186","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.34409,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f21e2a7-49f0-4fc3-bab9-448fe48ff331","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.3476675} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97a7c0a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} device-1 | {"level":"info","message":"POST /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling 200 69ms","method":"POST","requestID":"97a7c0a0-24c7-11ef-b353-d1d4e8136596","responseTime":69,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762513,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxM30.x0b9PfAktI7yUS5z5zistyIZretPn3by628NpbsFAyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2699decdf8657a8ebde5be97cf17e613"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.538827,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26f258bc-5477-432f-9241-c5c517b31f4d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.4281766} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.648174051Z"}]},"request_id":"1dcd1f70-815f-42a8-8800-79ab327fa740","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.4327128} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97b30b40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2699decdf8657a8ebde5be97cf17e613"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling 200 51ms","method":"POST","requestID":"97b30b40-24c7-11ef-b353-d1d4e8136596","responseTime":51,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"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":"10ba5c61-97ba-484d-89e0-df0037901568"},{"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":"4e72971d-91aa-4a3c-b328-630e2e99a0ae"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"34b92291-034d-4106-be0d-e0290526384b"}]},"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/29e2b709-7c50-43d2-b7ab-b3b8de746d95"},{"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/b351dca6-ef4d-4f05-9b5b-c361aaa56931"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"GET /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931? 200 107ms","method":"GET","requestID":"2699decdf8657a8ebde5be97cf17e613","responseTime":107,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2699decdf8657a8ebde5be97cf17e613"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxM30.x0b9PfAktI7yUS5z5zistyIZretPn3by628NpbsFAyg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a846b01f34768865633a35a49afe2086","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.301343,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762512,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxMn0.bTR4aG4cdiwYoR6d8hi1NxPnzIAdK3QUUPVHxxCiRiE"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97bf4040-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.448994,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762513,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxM30.x0b9PfAktI7yUS5z5zistyIZretPn3by628NpbsFAyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a846b01f34768865633a35a49afe2086"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":38}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:08.908378298Z"}]},"request_id":"ea9a855f-1ddc-44b5-9c77-0e9432bc43a5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.5359745} 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":"a846b01f34768865633a35a49afe2086"},"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":"07/Jun/2024:12:15:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a846b01f34768865633a35a49afe2086"} device-1 | {"level":"info","message":"GET /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95? 200 59ms","method":"GET","requestID":"a846b01f34768865633a35a49afe2086","responseTime":59,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"6e1e7783-1a87-488b-a028-06e015a43756","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.550567} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ab1b19f-9fdc-45ce-83e3-3bb178297fe2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.5518615} authorization-1 | {"level":"info","message":"POST /relations/update 200 52ms","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":"97bf4040-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":52}} 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/7c28707c-ea76-4bf5-93e6-ce73999e95b1'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1'"} 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 121ms","method":"POST","requestID":"97bf4040-24c7-11ef-b353-d1d4e8136596","responseTime":121,"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":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Successfully created peerconnections for experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"348c2019-ccb8-4e72-ab84-96c0a9241cf7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.7582917} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.165645,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling 200 37ms","method":"POST","requestID":"97e93670-24c7-11ef-b353-d1d4e8136596","responseTime":37,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97e93670-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0643807-a550-4e11-a33f-1705bca3940c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762513.8039334} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.316277,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling 200 14ms","method":"POST","requestID":"97f06260-24c7-11ef-b353-d1d4e8136596","responseTime":14,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97f06260-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"peerconnection":"7c28707c-ea76-4bf5-93e6-ce73999e95b1","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/7c28707c-ea76-4bf5-93e6-ce73999e95b1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7c28707c-ea76-4bf5-93e6-ce73999e95b1","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"93d02cf0e352a6429dc91517f13992a9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95"},{"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/b351dca6-ef4d-4f05-9b5b-c361aaa56931"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"07/Jun/2024:12:15:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"93d02cf0e352a6429dc91517f13992a9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"93d02cf0e352a6429dc91517f13992a9","responseTime":12,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"7c28707c-ea76-4bf5-93e6-ce73999e95b1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7c28707c-ea76-4bf5-93e6-ce73999e95b1","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7c28707c-ea76-4bf5-93e6-ce73999e95b1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"37b14b488f95576750ed542f08c22151","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/29e2b709-7c50-43d2-b7ab-b3b8de746d95"},{"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/b351dca6-ef4d-4f05-9b5b-c361aaa56931"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxNn0.A24zC_bUFQ81JpUsCXr8WGUiffiNCQBk9mXiovhB-5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"79c01a9a4d64b9713bdc9b141424f3c4","responseTime":10,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.141153,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7c28707c-ea76-4bf5-93e6-ce73999e95b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fc90adf-d7b4-4d86-84fb-4d13cec27294","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.0260546} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1","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 60ms","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":"99419a80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":60}} authorization-1 | {"client_addr":"127.0.0.1:47186","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47186","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.939604,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762516,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxNn0.A24zC_bUFQ81JpUsCXr8WGUiffiNCQBk9mXiovhB-5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"79c01a9a4d64b9713bdc9b141424f3c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"GET /peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1 200 77ms","method":"GET","requestID":"99419a80-24c7-11ef-b353-d1d4e8136596","responseTime":77,"status":200,"url":"/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"} gateway-1 | {"time_local":"07/Jun/2024:12:15:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79c01a9a4d64b9713bdc9b141424f3c4"} experiment-1 | {"level":"info","message":"GET /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65 200 87ms","method":"GET","requestID":"79c01a9a4d64b9713bdc9b141424f3c4","responseTime":88,"status":200,"url":"/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 244ms","method":"POST","requestID":"37b14b488f95576750ed542f08c22151","responseTime":244,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"07/Jun/2024:12:15:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.260","http_referrer":"","http_user_agent":"node-fetch","requestID":"37b14b488f95576750ed542f08c22151"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9d88525-3c63-45cb-8d2a-038885b8caf6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.187787} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.13788,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99582fc0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling 200 46ms","method":"POST","requestID":"99582fc0-24c7-11ef-b353-d1d4e8136596","responseTime":46,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.133547,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01582f4d-1a8d-489c-a949-ec9a301e95e0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.210711} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"995fa9d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling 200 41ms","method":"POST","requestID":"995fa9d0-24c7-11ef-b353-d1d4e8136596","responseTime":41,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxNn0.A24zC_bUFQ81JpUsCXr8WGUiffiNCQBk9mXiovhB-5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 18ms","method":"GET","requestID":"5413774d2dd6be9baeefed26ddd6bf1a","responseTime":18,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.934234,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762516,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxNn0.A24zC_bUFQ81JpUsCXr8WGUiffiNCQBk9mXiovhB-5c"} 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":"5413774d2dd6be9baeefed26ddd6bf1a"},"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/ce9619e3-c8f6-40b8-9e5e-a66060099b65"} experiment-1 | {"level":"info","message":"GET /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65 200 56ms","method":"GET","requestID":"5413774d2dd6be9baeefed26ddd6bf1a","responseTime":56,"status":200,"url":"/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"} gateway-1 | {"time_local":"07/Jun/2024:12:15:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5413774d2dd6be9baeefed26ddd6bf1a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxNn0.A24zC_bUFQ81JpUsCXr8WGUiffiNCQBk9mXiovhB-5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"87dec3c45b50f3b437ad147d2541675b","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.798202,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762516,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxNn0.A24zC_bUFQ81JpUsCXr8WGUiffiNCQBk9mXiovhB-5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","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":"87dec3c45b50f3b437ad147d2541675b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.953844,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762516,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxNn0.A24zC_bUFQ81JpUsCXr8WGUiffiNCQBk9mXiovhB-5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","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":"997b4820-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7c28707c-ea76-4bf5-93e6-ce73999e95b1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7c28707c-ea76-4bf5-93e6-ce73999e95b1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7c28707c-ea76-4bf5-93e6-ce73999e95b1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"0e02ce5c-016e-4a46-9a5a-3f4a3836bd60","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.4945755} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a93d98e-dfdf-4951-a704-e0fa19250cad","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.4959035} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","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":"997b4820-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":51}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"1bff791afec99c040b850896211cdcbf","responseTime":25,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2a1be9635f727b5c42b428103372dc87","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95"},{"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/b351dca6-ef4d-4f05-9b5b-c361aaa56931"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1"}}},"level":"info","message":"received a callback"} 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/29e2b709-7c50-43d2-b7ab-b3b8de746d95"},{"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/b351dca6-ef4d-4f05-9b5b-c361aaa56931"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"DELETE /peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1 204 173ms","method":"DELETE","requestID":"997b4820-24c7-11ef-b353-d1d4e8136596","responseTime":173,"status":204,"url":"/peerconnections/7c28707c-ea76-4bf5-93e6-ce73999e95b1"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.986504,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29e2b709-7c50-43d2-b7ab-b3b8de746d95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31977818-6c68-4b83-aebb-37d488f55d63","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.6104367} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"999c64b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling 200 15ms","method":"POST","requestID":"999c64b0-24c7-11ef-b353-d1d4e8136596","responseTime":15,"status":200,"url":"/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.826238,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb351dca6-ef4d-4f05-9b5b-c361aaa56931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e84d2a86-25d6-4390-96a2-fba170ae2f99","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.626611} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"999f23d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling 200 47ms","method":"POST","requestID":"999f23d0-24c7-11ef-b353-d1d4e8136596","responseTime":47,"status":200,"url":"/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce9619e3-c8f6-40b8-9e5e-a66060099b65': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce9619e3-c8f6-40b8-9e5e-a66060099b65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"ad93ea47-5a61-4d56-bba4-110379c8da8b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.6725612} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b14a8a79-7b1a-47f8-803c-121fc78746b4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.6731584} 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":"87dec3c45b50f3b437ad147d2541675b"},"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/ce9619e3-c8f6-40b8-9e5e-a66060099b65"} gateway-1 | {"time_local":"07/Jun/2024:12:15:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.460","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87dec3c45b50f3b437ad147d2541675b"} experiment-1 | {"level":"info","message":"DELETE /experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65 204 451ms","method":"DELETE","requestID":"87dec3c45b50f3b437ad147d2541675b","responseTime":451,"status":204,"url":"/experiments/ce9619e3-c8f6-40b8-9e5e-a66060099b65"} gateway-1 | {"time_local":"07/Jun/2024:12:15:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2839","request_time":"5.494","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9fbcdca87ca66f3ff4722ffd6d0a0413"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 233ms","method":"POST","requestID":"2a1be9635f727b5c42b428103372dc87","responseTime":233,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch","requestID":"2a1be9635f727b5c42b428103372dc87"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxNn0.A24zC_bUFQ81JpUsCXr8WGUiffiNCQBk9mXiovhB-5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"f6820c620cce0fdb10a9abc3ba6bf51d","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 274ms","method":"POST","requestID":"1bff791afec99c040b850896211cdcbf","responseTime":274,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.314","http_referrer":"","http_user_agent":"node-fetch","requestID":"1bff791afec99c040b850896211cdcbf"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b351dca6-ef4d-4f05-9b5b-c361aaa56931' closed"} gateway-1 | {"time_local":"07/Jun/2024:12:15:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"4.496","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e813af51bdb4f46a3ef6cd2fb04e5592"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/29e2b709-7c50-43d2-b7ab-b3b8de746d95' closed"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.944713,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762516,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxNn0.A24zC_bUFQ81JpUsCXr8WGUiffiNCQBk9mXiovhB-5c"} 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":"f6820c620cce0fdb10a9abc3ba6bf51d"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"42a12e50-9742-41d9-876b-f35c5dc82c81","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.9203286} 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":"f6820c620cce0fdb10a9abc3ba6bf51d"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7ea1f65-4f5a-4ae4-9742-85488c7c2bb8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.9270043} 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":"f6820c620cce0fdb10a9abc3ba6bf51d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"10b93370-6995-4746-8f76-322d04b38bbb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.966535} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d09d00a9-4f23-491f-9671-eb54f60bd580","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.9687092} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","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":"f6820c620cce0fdb10a9abc3ba6bf51d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":48}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:16.966503516Z"}]},"request_id":"3869db34-b695-4780-8a83-5c0cf40ba684","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762516.9845996} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 202ms","method":"POST","requestID":"f6820c620cce0fdb10a9abc3ba6bf51d","responseTime":202,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6820c620cce0fdb10a9abc3ba6bf51d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":17}} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.215","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6820c620cce0fdb10a9abc3ba6bf51d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxN30.2fB8rR6PmIokpvkF_DtsBctCZaQnL23nZEAJtLPNXjY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"2e1a531daaafca22bde1c38387dc8f74","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:17Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.953228,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762517,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxN30.2fB8rR6PmIokpvkF_DtsBctCZaQnL23nZEAJtLPNXjY"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e1a531daaafca22bde1c38387dc8f74"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3ade8dc4-0d62-4112-85e4-5fae538d93f5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762517.109692} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e1a531daaafca22bde1c38387dc8f74"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb1cdbe4-7363-4fad-ba23-4fd475f019cc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762517.1182468} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e1a531daaafca22bde1c38387dc8f74"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"6afc7dfd-2b0a-4525-b6f7-31d98a2636d6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762517.132848} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11b636e6-a46c-4af6-b14a-f85373c374db","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762517.1340435} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","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":"2e1a531daaafca22bde1c38387dc8f74"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":44}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:17.132813169Z"}]},"request_id":"05078732-d165-4b68-8df9-6ccad022dad4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762517.1664057} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e1a531daaafca22bde1c38387dc8f74"} device-1 | {"level":"info","message":"POST /devices? 201 125ms","method":"POST","requestID":"2e1a531daaafca22bde1c38387dc8f74","responseTime":125,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e1a531daaafca22bde1c38387dc8f74"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxOH0.zcGbkE5lPtQ454yBrRW_8_v95mo692YK1b9kaK0MWu4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"04b894afa868729ebc5bb985e89f1c5a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:18Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832271,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762518,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxOH0.zcGbkE5lPtQ454yBrRW_8_v95mo692YK1b9kaK0MWu4"} 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":"04b894afa868729ebc5bb985e89f1c5a"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:16.966503516Z"}]},"request_id":"770538b5-8b15-4052-8747-180c92546cc3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762518.9155085} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04b894afa868729ebc5bb985e89f1c5a"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7297659e-bc3b-4fbc-99ab-31e66e960d9d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762518.9487438} 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":"04b894afa868729ebc5bb985e89f1c5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:16.966503516Z"}]},"request_id":"4331ce20-fed6-4e84-89a3-2a4d93389358","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762519.0085316} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04b894afa868729ebc5bb985e89f1c5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":31}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.122","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"04b894afa868729ebc5bb985e89f1c5a"} device-1 | {"level":"info","message":"PATCH /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0 200 116ms","method":"PATCH","requestID":"04b894afa868729ebc5bb985e89f1c5a","responseTime":116,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxOX0.-4OM6BnMkSRJ__KtajZca7C_LnSebr5dQHKQTjwQjbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b16cf3794830185b79658b9c88ba84e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908008,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762519,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUxOX0.-4OM6BnMkSRJ__KtajZca7C_LnSebr5dQHKQTjwQjbM"} 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":"4b16cf3794830185b79658b9c88ba84e"},"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/8c2e2322-f03e-487d-b560-f9b430a67fb0/websocket 200 49ms","method":"POST","requestID":"4b16cf3794830185b79658b9c88ba84e","responseTime":49,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:15:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4b16cf3794830185b79658b9c88ba84e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"17fcfcb51ecd1c3d8ed333a8664bd60d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c5450625-59f4-4e6e-b1bc-549357619229/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":"17fcfcb51ecd1c3d8ed333a8664bd60d"} device-1 | {"level":"info","message":"OPTIONS /devices/c5450625-59f4-4e6e-b1bc-549357619229/websocket 200 1ms","method":"OPTIONS","requestID":"17fcfcb51ecd1c3d8ed333a8664bd60d","responseTime":1,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c7802517bd888797f83442eb28dd4457","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937866,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} 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":"c7802517bd888797f83442eb28dd4457"},"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":"07/Jun/2024:12:15:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c5450625-59f4-4e6e-b1bc-549357619229/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.059","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c7802517bd888797f83442eb28dd4457"} device-1 | {"level":"info","message":"POST /devices/c5450625-59f4-4e6e-b1bc-549357619229/websocket 200 54ms","method":"POST","requestID":"c7802517bd888797f83442eb28dd4457","responseTime":54,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"7bc744232daa586db7bb788d991b183b","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965567,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} 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":"7bc744232daa586db7bb788d991b183b"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:16.966503516Z"}]},"request_id":"50489c59-4694-4e8e-bda1-75b0799ee769","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.216371} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc744232daa586db7bb788d991b183b"},"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":"07/Jun/2024:12:15:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bc744232daa586db7bb788d991b183b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5428e52370b6a92e33743c67e2eed502","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0? 200 26ms","method":"GET","requestID":"7bc744232daa586db7bb788d991b183b","responseTime":26,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835017,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} 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":"5428e52370b6a92e33743c67e2eed502"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:17.132813169Z"}]},"request_id":"1a28880e-39d3-4a04-8a68-8d2743637eed","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.2685583} 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":"5428e52370b6a92e33743c67e2eed502"},"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":"07/Jun/2024:12:15:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c5450625-59f4-4e6e-b1bc-549357619229? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5428e52370b6a92e33743c67e2eed502"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4a088e5757ddc363afe8f416d5cc42b6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/c5450625-59f4-4e6e-b1bc-549357619229? 200 62ms","method":"GET","requestID":"5428e52370b6a92e33743c67e2eed502","responseTime":62,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229?"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.919915,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","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":"4a088e5757ddc363afe8f416d5cc42b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948952,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} 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":"9bdda220-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:16.966503516Z"}]},"request_id":"9d732a45-f563-49c7-842d-ef3506823a29","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.4042633} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bdda220-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} device-1 | {"level":"info","message":"GET /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0? 200 59ms","method":"GET","requestID":"9bdda220-24c7-11ef-b353-d1d4e8136596","responseTime":59,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0?"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917036,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bdfec10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:17.132813169Z"}]},"request_id":"ffc31e9d-ff7a-46ad-8792-0ab22878481c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.4637022} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Attempting to lock booking for experiment"} device-1 | {"level":"info","message":"GET /devices/c5450625-59f4-4e6e-b1bc-549357619229? 200 74ms","method":"GET","requestID":"9bdfec10-24c7-11ef-b353-d1d4e8136596","responseTime":74,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bdfec10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"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/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":6.028459,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} 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":"9c030470-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897045,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c035290-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa019924d-9c3e-4fe5-8146-4bb76e5e18fc#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa019924d-9c3e-4fe5-8146-4bb76e5e18fc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"b22086c8-6ad4-4e70-beaa-02b8aea78794","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.6938894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:16.966503516Z"}]},"request_id":"163e88d4-3341-4c45-8406-7b06bab7b9a0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.6948597} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f904ab1f-119b-4676-a563-7d2130d94bca","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.6950326} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 70ms","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":"4a088e5757ddc363afe8f416d5cc42b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":70}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0? 200 117ms","method":"GET","requestID":"9c030470-24c7-11ef-b353-d1d4e8136596","responseTime":117,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 58ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c030470-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":58}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:17.132813169Z"}]},"request_id":"705411a5-0c7c-47c5-a84f-ff0daa330707","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.717847} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c5450625-59f4-4e6e-b1bc-549357619229? 200 121ms","method":"GET","requestID":"9c035290-24c7-11ef-b353-d1d4e8136596","responseTime":121,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c035290-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb249ef7-a617-4a62-a846-f692939ad2cb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.75166} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":46.950702,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 469ms","method":"POST","requestID":"4a088e5757ddc363afe8f416d5cc42b6","responseTime":469,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.476","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a088e5757ddc363afe8f416d5cc42b6"} device-1 | {"level":"info","message":"POST /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling 200 111ms","method":"POST","requestID":"9c06adf0-24c7-11ef-b353-d1d4e8136596","responseTime":111,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 54ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c06adf0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":54}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"b91fe20c92d755628f4ecd441297be91","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.944756,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ca93554-3a88-431d-98af-ed1d57e2a534","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.799481} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling 200 56ms","method":"POST","requestID":"9c163e50-24c7-11ef-b353-d1d4e8136596","responseTime":56,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c163e50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling 200 67ms","method":"POST","requestID":"9c1bbc90-24c7-11ef-b353-d1d4e8136596","responseTime":67,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 53ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c1bbc90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":53}} authorization-1 | {"client_addr":"127.0.0.1:47200","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:47200","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.449112,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:47216","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:47216","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":37.027248,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21611818-bea4-4e56-8473-5270ad86c24e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.817844} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.526403,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a6940af-71e9-41a3-ba1e-9f188ffe7332","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.89223} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 94ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b91fe20c92d755628f4ecd441297be91"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":94}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling 200 97ms","method":"POST","requestID":"9c23d2e0-24c7-11ef-b353-d1d4e8136596","responseTime":97,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 48ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c23d2e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":48}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"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":"f98bf9c2-a3d8-49d5-a95e-ecacbf9af0a8"},{"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":"39b6c180-2201-4bc5-9013-636febbb5edb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e674756e-b8d8-4d73-895a-37e77e77a69a"}]},"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/c5450625-59f4-4e6e-b1bc-549357619229"},{"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/8c2e2322-f03e-487d-b560-f9b430a67fb0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:16.966503516Z"}]},"request_id":"7c154891-31a3-4c04-8beb-c0d506ca93d9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762520.9842308} authorization-1 | {"level":"info","message":"POST /relations/query 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b91fe20c92d755628f4ecd441297be91"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":41}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:20Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.044735,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762520,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMH0.YMSkIamt3N_9IO76_johaM5m6xSXrLfzig-lJWvhJ3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c342690-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} gateway-1 | {"time_local":"07/Jun/2024:12:15:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b91fe20c92d755628f4ecd441297be91"} device-1 | {"level":"info","message":"GET /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0? 200 201ms","method":"GET","requestID":"b91fe20c92d755628f4ecd441297be91","responseTime":201,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMX0.rUgW-TclkI2DdE06MIrs0ugDuVTZX6oiNvH4MpEUr_M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4abacbac782bf3fba1e83c84d6e15a0d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907652,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762521,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyMX0.rUgW-TclkI2DdE06MIrs0ugDuVTZX6oiNvH4MpEUr_M"} 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":"4abacbac782bf3fba1e83c84d6e15a0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"c82a3e99-9348-4c8b-bd85-cd7e6ccbf49b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762521.0408187} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f781fa0-6adf-48d0-86e0-03996e1d1566","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762521.042206} 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":"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":"9c342690-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:17.132813169Z"}]},"request_id":"43ad5f05-0761-4846-81b8-565ce01fa8e4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762521.051472} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4abacbac782bf3fba1e83c84d6e15a0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":32}} 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/55da7814-e809-417f-885c-d89b541dfb88'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88'"} 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 177ms","method":"POST","requestID":"9c342690-24c7-11ef-b353-d1d4e8136596","responseTime":177,"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/c5450625-59f4-4e6e-b1bc-549357619229? 200 100ms","method":"GET","requestID":"4abacbac782bf3fba1e83c84d6e15a0d","responseTime":100,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c5450625-59f4-4e6e-b1bc-549357619229? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4abacbac782bf3fba1e83c84d6e15a0d"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:21Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb9aecd6-b576-43fa-b835-d5225c8fd637","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762521.4729083} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":9.425742,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c7e00d0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling 200 48ms","method":"POST","requestID":"9c7e00d0-24c7-11ef-b353-d1d4e8136596","responseTime":48,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.484083,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:21Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4267b29d-ac63-4c2e-b842-b73adea25258","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762521.5241249} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c89c0a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling 200 47ms","method":"POST","requestID":"9c89c0a0-24c7-11ef-b353-d1d4e8136596","responseTime":47,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling"} device-1 | {"data":{"peerconnection":"55da7814-e809-417f-885c-d89b541dfb88","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9293e0822a873e984af7574042f488ad","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"55da7814-e809-417f-885c-d89b541dfb88","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/c5450625-59f4-4e6e-b1bc-549357619229"},{"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/8c2e2322-f03e-487d-b560-f9b430a67fb0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"9293e0822a873e984af7574042f488ad","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"9293e0822a873e984af7574042f488ad"} device-1 | {"data":{"peerconnection":"55da7814-e809-417f-885c-d89b541dfb88","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"55da7814-e809-417f-885c-d89b541dfb88","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"55da7814-e809-417f-885c-d89b541dfb88","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8ae73422153c73adb2fb7193530cc1ee","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} 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/c5450625-59f4-4e6e-b1bc-549357619229"},{"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/8c2e2322-f03e-487d-b560-f9b430a67fb0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88"}}},"level":"info","message":"received a callback"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.059577,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F55da7814-e809-417f-885c-d89b541dfb88","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f805d29-cce7-4172-bd26-e34fac2cbd62","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762523.4516523} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88","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":"9db01830-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/55da7814-e809-417f-885c-d89b541dfb88 200 52ms","method":"GET","requestID":"9db01830-24c7-11ef-b353-d1d4e8136596","responseTime":52,"status":200,"url":"/peerconnections/55da7814-e809-417f-885c-d89b541dfb88"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 106ms","method":"POST","requestID":"8ae73422153c73adb2fb7193530cc1ee","responseTime":106,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.111","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ae73422153c73adb2fb7193530cc1ee"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:23Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efb8f972-530e-498b-abaf-df833859f00f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762523.5500207} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.697929,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:23Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyM30.CzCbxh3aeuQWwxLaFHx5eQ6170MZrbraKAkqTip2rQU","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dbf5a70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"5edfc8a616c468be6128f721f8633987","responseTime":31,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.981014,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762523,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyM30.CzCbxh3aeuQWwxLaFHx5eQ6170MZrbraKAkqTip2rQU"} 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":"5edfc8a616c468be6128f721f8633987"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"} gateway-1 | {"time_local":"07/Jun/2024:12:15:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5edfc8a616c468be6128f721f8633987"} device-1 | {"level":"info","message":"POST /devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling 200 89ms","method":"POST","requestID":"9dbf5a70-24c7-11ef-b353-d1d4e8136596","responseTime":89,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"GET /experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc 200 58ms","method":"GET","requestID":"5edfc8a616c468be6128f721f8633987","responseTime":58,"status":200,"url":"/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyM30.CzCbxh3aeuQWwxLaFHx5eQ6170MZrbraKAkqTip2rQU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8dac93bc9d3bd5115d1333a6b62053ed","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.129765,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54b3428c-141e-410b-84f1-acb4e23794f5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762523.6430311} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dcdb250-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling 200 52ms","method":"POST","requestID":"9dcdb250-24c7-11ef-b353-d1d4e8136596","responseTime":52,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.513695,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762523,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyM30.CzCbxh3aeuQWwxLaFHx5eQ6170MZrbraKAkqTip2rQU"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","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":"8dac93bc9d3bd5115d1333a6b62053ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.963989,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762523,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyM30.CzCbxh3aeuQWwxLaFHx5eQ6170MZrbraKAkqTip2rQU"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"9ddca670-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"55da7814-e809-417f-885c-d89b541dfb88","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"605fe06d909e3f8397f8eee04c8b2b96","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/c5450625-59f4-4e6e-b1bc-549357619229"},{"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/8c2e2322-f03e-487d-b560-f9b430a67fb0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2b66f93dcd372f5318faaf3f8f4100c7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229"},{"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/8c2e2322-f03e-487d-b560-f9b430a67fb0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/55da7814-e809-417f-885c-d89b541dfb88"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"55da7814-e809-417f-885c-d89b541dfb88","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F55da7814-e809-417f-885c-d89b541dfb88': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F55da7814-e809-417f-885c-d89b541dfb88","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"69521ceb-7b9c-4298-89f8-8a765dd2f5fc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762523.8317535} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4fb2f67-2a4d-449a-a4de-a5abbdc393e9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762523.8324277} authorization-1 | {"level":"info","message":"POST /relations/update 200 57ms","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":"9ddca670-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":57}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/55da7814-e809-417f-885c-d89b541dfb88 204 150ms","method":"DELETE","requestID":"9ddca670-24c7-11ef-b353-d1d4e8136596","responseTime":150,"status":204,"url":"/peerconnections/55da7814-e809-417f-885c-d89b541dfb88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5450625-59f4-4e6e-b1bc-549357619229","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"651c6945-6281-478d-bd43-8de3e4b4b2e9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762523.9427202} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.152997,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dfb03e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling 200 15ms","method":"POST","requestID":"9dfb03e0-24c7-11ef-b353-d1d4e8136596","responseTime":15,"status":200,"url":"/devices/c5450625-59f4-4e6e-b1bc-549357619229/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa019924d-9c3e-4fe5-8146-4bb76e5e18fc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa019924d-9c3e-4fe5-8146-4bb76e5e18fc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"ef539aeb-0ce8-476f-8add-a756185ba7fb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762523.954455} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acb63cda-851c-496e-b7a5-f78eca6271aa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762523.955589} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c2e2322-f03e-487d-b560-f9b430a67fb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0abaf0a3-74f7-4e5f-94ff-4af9bd66dd40","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762523.9855492} authorization-1 | {"level":"info","message":"POST /relations/update 200 57ms","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":"8dac93bc9d3bd5115d1333a6b62053ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":57}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.486937,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dfdc300-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling 200 88ms","method":"POST","requestID":"9dfdc300-24c7-11ef-b353-d1d4e8136596","responseTime":88,"status":200,"url":"/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"} gateway-1 | {"time_local":"07/Jun/2024:12:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.574","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8dac93bc9d3bd5115d1333a6b62053ed"} gateway-1 | {"time_local":"07/Jun/2024:12:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2837","request_time":"5.135","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"604e596f9c55befe28a3ac230eead1fc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNH0.XOkHMzQddDjlpC-DUm4X8DBzNqAYEiRvcMxTj9vijsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"3928db0406880b71b086e3278360a4ea","responseTime":30,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:24Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.83714,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:24Z"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"07/Jun/2024:12:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"4.090","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c933df18a7a146aca96cb031cea4f9e7"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8c2e2322-f03e-487d-b560-f9b430a67fb0' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762524,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNH0.XOkHMzQddDjlpC-DUm4X8DBzNqAYEiRvcMxTj9vijsI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3928db0406880b71b086e3278360a4ea"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0dd428b6-b67a-48e4-a796-47eb8988a003","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.2944512} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3928db0406880b71b086e3278360a4ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"DELETE /experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc 204 631ms","method":"DELETE","requestID":"8dac93bc9d3bd5115d1333a6b62053ed","responseTime":631,"status":204,"url":"/experiments/a019924d-9c3e-4fe5-8146-4bb76e5e18fc"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"195c09f4-204b-48ed-a60d-61720a1b27b9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.346503} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 560ms","method":"POST","requestID":"605fe06d909e3f8397f8eee04c8b2b96","responseTime":560,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 562ms","method":"POST","requestID":"2b66f93dcd372f5318faaf3f8f4100c7","responseTime":562,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.567","http_referrer":"","http_user_agent":"node-fetch","requestID":"605fe06d909e3f8397f8eee04c8b2b96"} gateway-1 | {"time_local":"07/Jun/2024:12:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.568","http_referrer":"","http_user_agent":"node-fetch","requestID":"2b66f93dcd372f5318faaf3f8f4100c7"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3928db0406880b71b086e3278360a4ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c5450625-59f4-4e6e-b1bc-549357619229' closed"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"19612aa9-11f5-40ea-84f5-021ecd376d75","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.4046972} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e653753-5f02-44e9-81dc-ae4436a59caa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.405733} authorization-1 | {"level":"info","message":"POST /relations/update 200 60ms","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":"3928db0406880b71b086e3278360a4ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":60}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.404665252Z"}]},"request_id":"e16c9d77-3bdd-4ae7-9ee4-50dc5e11ac3b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.416411} 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":"3928db0406880b71b086e3278360a4ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 172ms","method":"POST","requestID":"3928db0406880b71b086e3278360a4ea","responseTime":172,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.235","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3928db0406880b71b086e3278360a4ea"} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNH0.XOkHMzQddDjlpC-DUm4X8DBzNqAYEiRvcMxTj9vijsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"e6bd7248b939897324456e156301fd7b","responseTime":24,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:24Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.971051,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762524,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNH0.XOkHMzQddDjlpC-DUm4X8DBzNqAYEiRvcMxTj9vijsI"} 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":"e6bd7248b939897324456e156301fd7b"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"32770d77-7c6d-4782-940d-f7132ced7551","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.5763931} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6bd7248b939897324456e156301fd7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e719572c-d121-4d07-8158-25deea8b8862","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.6076632} 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":"e6bd7248b939897324456e156301fd7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19422f38-0557-4b5e-b014-d0d11c47a468","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.6204393} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"53d5fc30-1373-4c02-bded-ebfa1ba9902c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.6219673} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6bd7248b939897324456e156301fd7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.621936587Z"}]},"request_id":"121b27b1-de39-495b-b158-906ecd68885a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762524.6278675} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6bd7248b939897324456e156301fd7b"},"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 129ms","method":"POST","requestID":"e6bd7248b939897324456e156301fd7b","responseTime":129,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e6bd7248b939897324456e156301fd7b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"d3ea35881574c0d88f0bd71f11736d37","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.943497,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} 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":"d3ea35881574c0d88f0bd71f11736d37"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.621936587Z"}]},"request_id":"cff79fc9-a130-43ce-8a5d-3c85ab1f7ff2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.070543} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3ea35881574c0d88f0bd71f11736d37"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b04869e3-7db1-4f90-b249-e53b05959dc5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.082758} 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":"d3ea35881574c0d88f0bd71f11736d37"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.621936587Z"}]},"request_id":"cb5c1215-1bdf-4b91-9812-055cd3f5cc27","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.1369722} 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":"d3ea35881574c0d88f0bd71f11736d37"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"07/Jun/2024:12:15:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.152","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d3ea35881574c0d88f0bd71f11736d37"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21 200 143ms","method":"PATCH","requestID":"d3ea35881574c0d88f0bd71f11736d37","responseTime":143,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e8a4221db41c70f1a0bf7f99ec9e112","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"12b86abb154cc0a97e67eaf94a8a925b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.043305,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} 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":"7e8a4221db41c70f1a0bf7f99ec9e112"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":29.291764,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12b86abb154cc0a97e67eaf94a8a925b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/websocket 200 96ms","method":"POST","requestID":"7e8a4221db41c70f1a0bf7f99ec9e112","responseTime":96,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:15:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.103","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7e8a4221db41c70f1a0bf7f99ec9e112"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.404665252Z"}]},"request_id":"da277696-5910-415e-8b67-4fb5b236583c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.2770474} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12b86abb154cc0a97e67eaf94a8a925b"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1607ad0-e62f-433e-a119-daee762ac852","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.2876995} 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":"12b86abb154cc0a97e67eaf94a8a925b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21' connected"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.404665252Z"}]},"request_id":"d430ab8f-222f-43c2-870b-bdd00dc0e656","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.4349704} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12b86abb154cc0a97e67eaf94a8a925b"},"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/66cd63b2-1c9a-47c3-bac6-cb812148b1b9 200 255ms","method":"PATCH","requestID":"12b86abb154cc0a97e67eaf94a8a925b","responseTime":255,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9"} gateway-1 | {"time_local":"07/Jun/2024:12:15:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.266","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"12b86abb154cc0a97e67eaf94a8a925b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4a45533d4b1df2d09ce59ff7eabf6c3a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920296,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a45533d4b1df2d09ce59ff7eabf6c3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.096","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4a45533d4b1df2d09ce59ff7eabf6c3a"} device-1 | {"level":"info","message":"POST /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/websocket 200 90ms","method":"POST","requestID":"4a45533d4b1df2d09ce59ff7eabf6c3a","responseTime":90,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a3fbc9779ab28a3b7afb08a0351817a5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926778,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} 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":"a3fbc9779ab28a3b7afb08a0351817a5"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.404665252Z"}]},"request_id":"a008c79a-e3cf-4ddd-be47-29cf9e4ae0c5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.593989} 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":"a3fbc9779ab28a3b7afb08a0351817a5"},"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":"07/Jun/2024:12:15:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.082","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3fbc9779ab28a3b7afb08a0351817a5"} device-1 | {"level":"info","message":"GET /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9? 200 53ms","method":"GET","requestID":"a3fbc9779ab28a3b7afb08a0351817a5","responseTime":53,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"13d5e03c4f95de3294ad80b66db46930","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938085,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13d5e03c4f95de3294ad80b66db46930"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.621936587Z"}]},"request_id":"070bf6ed-e6da-4dbd-ae61-8dbf88c4ccfa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.6948872} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13d5e03c4f95de3294ad80b66db46930"},"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":"07/Jun/2024:12:15:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13d5e03c4f95de3294ad80b66db46930"} device-1 | {"level":"info","message":"GET /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21? 200 59ms","method":"GET","requestID":"13d5e03c4f95de3294ad80b66db46930","responseTime":59,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bbe73aaa48cea45dcfd646fe01c5ce2f","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:40588","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.910345,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} 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":"bbe73aaa48cea45dcfd646fe01c5ce2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"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:40588","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947269,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} 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":"9fab4bf0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.404665252Z"}]},"request_id":"744737da-c352-462d-9d3f-3f834bd75ae3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.7835662} 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":"9fab4bf0-24c7-11ef-b353-d1d4e8136596"},"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/66cd63b2-1c9a-47c3-bac6-cb812148b1b9? 200 29ms","method":"GET","requestID":"9fab4bf0-24c7-11ef-b353-d1d4e8136596","responseTime":29,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fabc120-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"client_addr":"127.0.0.1:52030","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52030","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.110252,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.621936587Z"}]},"request_id":"4e15b908-0cc2-4315-85e8-8ebb4f44e5df","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762526.8183389} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fabc120-24c7-11ef-b353-d1d4e8136596"},"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/163ea9fa-f03c-44db-b0de-dfbe402d7c21? 200 53ms","method":"GET","requestID":"9fabc120-24c7-11ef-b353-d1d4e8136596","responseTime":53,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52030","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52030","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.111131,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":52.640281,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fc6c330-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 63ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fc40410-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":63}} authorization-1 | {"client_addr":"127.0.0.1:52034","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.404665252Z"}]},"request_id":"98ac8575-673b-4c48-8d32-f0c08f9f652e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.0087833} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.621936587Z"}]},"request_id":"8fe7b320-1d26-4e0c-8153-df01e895b70e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.0091803} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a645da6-ec0f-41d6-aff9-dd0df78a48e1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.0093863} authorization-1 | {"level":"info","message":"POST /relations/query 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fc40410-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"level":"info","message":"POST /relations/query 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fc6c330-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"client_addr":"127.0.0.1:52034","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.565626,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 59ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fc7d4a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":59}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9? 200 127ms","method":"GET","requestID":"9fc40410-24c7-11ef-b353-d1d4e8136596","responseTime":127,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21? 200 112ms","method":"GET","requestID":"9fc6c330-24c7-11ef-b353-d1d4e8136596","responseTime":113,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F72a621b2-a61c-4ea3-b389-8ac8280a0de7#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F72a621b2-a61c-4ea3-b389-8ac8280a0de7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"78bc065a-59c9-42d2-9b79-e51c3208b4c7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.0633204} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2102383-f087-4470-85e7-c1773e3a5de5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.064075} device-1 | {"level":"info","message":"POST /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling 200 111ms","method":"POST","requestID":"9fc7d4a0-24c7-11ef-b353-d1d4e8136596","responseTime":111,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 77ms","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":"bbe73aaa48cea45dcfd646fe01c5ce2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":77}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.755444,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"787b637a-4433-406a-b1ea-d5b0c8db4c91","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.106743} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 409ms","method":"POST","requestID":"bbe73aaa48cea45dcfd646fe01c5ce2f","responseTime":409,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fd939c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":36}} gateway-1 | {"time_local":"07/Jun/2024:12:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.417","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bbe73aaa48cea45dcfd646fe01c5ce2f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling 200 53ms","method":"POST","requestID":"9fd939c0-24c7-11ef-b353-d1d4e8136596","responseTime":53,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52030","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a94c5cd1-67aa-44d8-b54c-06beff8997b0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.13664} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25877b7a-d3fa-4d5b-bbf3-9753d69d0548","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.1373706} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyN30.FXL3goc_dwmWPmamC8hI1Cy7alLRqvy6KCJCQGT58wA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"78271221d66682fc6597fe02340fc844","responseTime":11,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52030","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":16.108885,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.287066,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fda9950-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Building connection plan"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling 200 99ms","method":"POST","requestID":"9fda9950-24c7-11ef-b353-d1d4e8136596","responseTime":99,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"e2cd787d-efec-4b45-9f46-10c8ceb207f2"},{"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":"99fc0a37-6e9c-4f9f-be80-251289ebc632"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"365167e3-39fc-48f7-97ff-3667b77e9783"}]},"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/66cd63b2-1c9a-47c3-bac6-cb812148b1b9"},{"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/163ea9fa-f03c-44db-b0de-dfbe402d7c21"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fe1ec50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} device-1 | {"level":"info","message":"POST /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling 200 56ms","method":"POST","requestID":"9fe1ec50-24c7-11ef-b353-d1d4e8136596","responseTime":56,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913174,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52030","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52030","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.914908,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762527,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyN30.FXL3goc_dwmWPmamC8hI1Cy7alLRqvy6KCJCQGT58wA"} authorization-1 | {"level":"info","message":"POST /authorize 200 64ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78271221d66682fc6597fe02340fc844"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":64}} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762526,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyNn0.A1U8YMFvAjnnaGP2pXRxlUzxMy34ZTPnU3CmQ-pRzWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 62ms","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":"9fea9ee0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":62}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.404665252Z"}]},"request_id":"624e0581-d8bd-46b3-867e-d2da6805883f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.2524564} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78271221d66682fc6597fe02340fc844"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9? 200 123ms","method":"GET","requestID":"78271221d66682fc6597fe02340fc844","responseTime":123,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78271221d66682fc6597fe02340fc844"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyN30.FXL3goc_dwmWPmamC8hI1Cy7alLRqvy6KCJCQGT58wA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f0cb2856e77b62db1525080e0a83f2a9","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"14b1a247-05ba-463b-912b-8268ce1be61f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.2919526} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44c81e93-162c-4182-afdf-7e8f9d16d5ec","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.2928483} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fea9ee0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899966,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762527,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyN30.FXL3goc_dwmWPmamC8hI1Cy7alLRqvy6KCJCQGT58wA"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0cb2856e77b62db1525080e0a83f2a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:24.621936587Z"}]},"request_id":"623a0d91-9472-48e2-96db-716832d3f5b6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.3605092} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0cb2856e77b62db1525080e0a83f2a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6'"} 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 287ms","method":"POST","requestID":"9fea9ee0-24c7-11ef-b353-d1d4e8136596","responseTime":287,"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":"07/Jun/2024:12:15:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0cb2856e77b62db1525080e0a83f2a9"} device-1 | {"level":"info","message":"GET /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21? 200 176ms","method":"GET","requestID":"f0cb2856e77b62db1525080e0a83f2a9","responseTime":176,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7fd2968-6bd2-4d02-b094-d8a86cf8c903","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.6015258} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.309759,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a029a3b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling 200 15ms","method":"POST","requestID":"a029a3b0-24c7-11ef-b353-d1d4e8136596","responseTime":15,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3bbeb1c2-f513-432f-ade0-b00a2be50e32","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762527.6446078} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.520759,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling 200 38ms","method":"POST","requestID":"a02c89e0-24c7-11ef-b353-d1d4e8136596","responseTime":38,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a02c89e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} device-1 | {"data":{"peerconnection":"5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","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/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aaa3b0f66a26ef128ae9584136ad1c3b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9"},{"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/163ea9fa-f03c-44db-b0de-dfbe402d7c21"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 16ms","method":"POST","requestID":"aaa3b0f66a26ef128ae9584136ad1c3b","responseTime":16,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"aaa3b0f66a26ef128ae9584136ad1c3b"} device-1 | {"data":{"peerconnection":"5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","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/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/66cd63b2-1c9a-47c3-bac6-cb812148b1b9"},{"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/163ea9fa-f03c-44db-b0de-dfbe402d7c21"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7a670e970eb29b4f06605bf3dbd31721","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c2fcde8-af69-44b4-8cc5-4f90361e446f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762529.7855694} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":8.007069,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","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 11ms","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":"a17647f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6 200 16ms","method":"GET","requestID":"a17647f0-24c7-11ef-b353-d1d4e8136596","responseTime":16,"status":200,"url":"/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 55ms","method":"POST","requestID":"7a670e970eb29b4f06605bf3dbd31721","responseTime":55,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"7a670e970eb29b4f06605bf3dbd31721"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e5fe32e-b70a-4ba6-98a8-cb0d083bd1dd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762529.8269315} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.390589,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:29Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyOX0._faZiJEVSOZ2oVe9ghvc4nE0Qefpq3d1qykCBtUaz1Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aa5531ec9ee6ad2e8432d7ab9a9e780e","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a17d4cd0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling 200 16ms","method":"POST","requestID":"a17d4cd0-24c7-11ef-b353-d1d4e8136596","responseTime":16,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.273726,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:29Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762529,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyOX0._faZiJEVSOZ2oVe9ghvc4nE0Qefpq3d1qykCBtUaz1Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","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":"aa5531ec9ee6ad2e8432d7ab9a9e780e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.363519,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06d37818-b945-4644-bfdd-432966dc79a0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762529.8524723} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling 200 26ms","method":"POST","requestID":"a1803300-24c7-11ef-b353-d1d4e8136596","responseTime":26,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1803300-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"} experiment-1 | {"level":"info","message":"GET /experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7 200 52ms","method":"GET","requestID":"aa5531ec9ee6ad2e8432d7ab9a9e780e","responseTime":52,"status":200,"url":"/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"} gateway-1 | {"time_local":"07/Jun/2024:12:15:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa5531ec9ee6ad2e8432d7ab9a9e780e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyOX0._faZiJEVSOZ2oVe9ghvc4nE0Qefpq3d1qykCBtUaz1Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c933fdae437ca80795f09150dc6ca472","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.942904,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762529,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyOX0._faZiJEVSOZ2oVe9ghvc4nE0Qefpq3d1qykCBtUaz1Q"} 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":"c933fdae437ca80795f09150dc6ca472"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.22077,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762529,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUyOX0._faZiJEVSOZ2oVe9ghvc4nE0Qefpq3d1qykCBtUaz1Q"} 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":"a190adc0-24c7-11ef-b353-d1d4e8136596"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64714879-eba7-4e28-85df-2dd93338f84d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762529.9825816} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5f3cf830-6432-4abc-92a1-9c5fdc73e5c6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5f3cf830-6432-4abc-92a1-9c5fdc73e5c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"3cbeb97c-8ae1-45c7-a1c4-19151068e9f6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762529.9838266} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f05713a4b5ee9ec895661cfa9d4da92a","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/66cd63b2-1c9a-47c3-bac6-cb812148b1b9"},{"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/163ea9fa-f03c-44db-b0de-dfbe402d7c21"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7c6dd9cf7d4927f5c00ce88578d18a9d","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"a190adc0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":40}} 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/66cd63b2-1c9a-47c3-bac6-cb812148b1b9"},{"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/163ea9fa-f03c-44db-b0de-dfbe402d7c21"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6 204 107ms","method":"DELETE","requestID":"a190adc0-24c7-11ef-b353-d1d4e8136596","responseTime":107,"status":204,"url":"/peerconnections/5f3cf830-6432-4abc-92a1-9c5fdc73e5c6"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:30Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd63b2-1c9a-47c3-bac6-cb812148b1b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"824945de-072a-4ae8-91a9-c3a9449ba3eb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.1629968} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.899423,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1b06ac0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F72a621b2-a61c-4ea3-b389-8ac8280a0de7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F72a621b2-a61c-4ea3-b389-8ac8280a0de7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"d635f9f9-5fb9-47b4-a345-dc4af17d40a4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.1822586} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be67ce71-fa09-4db3-beb5-9c19a4db5382","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.1835961} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","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":"c933fdae437ca80795f09150dc6ca472"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":37}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling 200 81ms","method":"POST","requestID":"a1b06ac0-24c7-11ef-b353-d1d4e8136596","responseTime":81,"status":200,"url":"/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:30Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.270876,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:30Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F163ea9fa-f03c-44db-b0de-dfbe402d7c21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6c4073c-e4e1-48e3-a2b1-6efa2b58f1a9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.2517266} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1bd3c00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling 200 45ms","method":"POST","requestID":"a1bd3c00-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"} gateway-1 | {"time_local":"07/Jun/2024:12:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"3.895","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b6dd30d65a96dcb77cbcdb87168c4f01"} gateway-1 | {"time_local":"07/Jun/2024:12:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"4.161","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a533d583c1f361f50dee770dfaea0fe7"} gateway-1 | {"time_local":"07/Jun/2024:12:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.539","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c933fdae437ca80795f09150dc6ca472"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/163ea9fa-f03c-44db-b0de-dfbe402d7c21' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMH0.xorw1yJ0TSSBY1-baqFO1MSF6QDhx1KsJ9TnM3eigLA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 20ms","method":"GET","requestID":"d0a5627114fc656c5f41f47180c1f4ca","responseTime":20,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} experiment-1 | {"level":"info","message":"DELETE /experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7 204 560ms","method":"DELETE","requestID":"c933fdae437ca80795f09150dc6ca472","responseTime":560,"status":204,"url":"/experiments/72a621b2-a61c-4ea3-b389-8ac8280a0de7"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/66cd63b2-1c9a-47c3-bac6-cb812148b1b9' closed"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:30Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.960447,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762530,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMH0.xorw1yJ0TSSBY1-baqFO1MSF6QDhx1KsJ9TnM3eigLA"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","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":"d0a5627114fc656c5f41f47180c1f4ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.506","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c6dd9cf7d4927f5c00ce88578d18a9d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 503ms","method":"POST","requestID":"7c6dd9cf7d4927f5c00ce88578d18a9d","responseTime":503,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.566","http_referrer":"","http_user_agent":"node-fetch","requestID":"f05713a4b5ee9ec895661cfa9d4da92a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 509ms","method":"POST","requestID":"f05713a4b5ee9ec895661cfa9d4da92a","responseTime":509,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"72698ff1-33f6-4db8-941a-a94a4389573a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.5990367} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0a5627114fc656c5f41f47180c1f4ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23cf9ebd-ca9c-4454-bb2f-39b572e96c21","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.6377828} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0a5627114fc656c5f41f47180c1f4ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"f8b4a805-beba-40c6-bd4a-0d1cffc25da2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.6950645} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5cad1a34-3927-4e92-b01f-3f1aed284fbf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.696312} authorization-1 | {"level":"info","message":"POST /relations/update 200 61ms","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":"d0a5627114fc656c5f41f47180c1f4ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":61}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:30.695033020Z"}]},"request_id":"ed34985c-43ce-4315-9ff7-d688e3fccc6e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.7278793} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0a5627114fc656c5f41f47180c1f4ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.297","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0a5627114fc656c5f41f47180c1f4ca"} device-1 | {"level":"info","message":"POST /devices? 201 272ms","method":"POST","requestID":"d0a5627114fc656c5f41f47180c1f4ca","responseTime":272,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMH0.xorw1yJ0TSSBY1-baqFO1MSF6QDhx1KsJ9TnM3eigLA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f586dbd20b84e6b3edc8f827120d7d69","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:30Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.8961,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762530,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMH0.xorw1yJ0TSSBY1-baqFO1MSF6QDhx1KsJ9TnM3eigLA"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","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":"f586dbd20b84e6b3edc8f827120d7d69"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3f1f7403-0ec2-424c-94b5-997cacbe75e3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.844792} authorization-1 | {"level":"info","message":"POST /relations/query 200 58ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f586dbd20b84e6b3edc8f827120d7d69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":58}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e404f0f-aea5-4b59-97f6-c92079b42cfc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762530.9114158} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f586dbd20b84e6b3edc8f827120d7d69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"364e1d62-572d-4599-a67e-5c346a258f9e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762531.0126421} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9855856d-749f-4aa2-a370-e0aaf76e8beb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762531.0132594} authorization-1 | {"level":"info","message":"POST /relations/update 200 108ms","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":"f586dbd20b84e6b3edc8f827120d7d69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":108}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:31.012609281Z"}]},"request_id":"cc8eee06-afda-4199-bf4d-b6557b495c31","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762531.021869} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 261ms","method":"POST","requestID":"f586dbd20b84e6b3edc8f827120d7d69","responseTime":261,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f586dbd20b84e6b3edc8f827120d7d69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:15:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.270","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f586dbd20b84e6b3edc8f827120d7d69"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.041315,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762532,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk"} 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":"b5adcba5731894167542293910fb7807"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b5adcba5731894167542293910fb7807","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"012d200b92a8b460908709fb66cd600e","responseTime":4,"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:31.012609281Z"}]},"request_id":"9642e2fa-ddfe-4735-9a95-e0278af8ae3d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762532.5938387} 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":"b5adcba5731894167542293910fb7807"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904289,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762532,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"012d200b92a8b460908709fb66cd600e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d312b1b4-49d9-44ee-8890-a5736f35faa5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762532.6338189} 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":"b5adcba5731894167542293910fb7807"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:31.012609281Z"}]},"request_id":"2f47e5f3-1eac-46d2-aebb-b184f3a9ac6d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762532.7129369} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:30.695033020Z"}]},"request_id":"3d8d9123-fd46-463e-a303-2867e5aa5eaf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762532.7157125} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.211","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b5adcba5731894167542293910fb7807"} device-1 | {"level":"info","message":"PATCH /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2 200 206ms","method":"PATCH","requestID":"b5adcba5731894167542293910fb7807","responseTime":206,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"99d06b4bd858a8b05e61e7150af99dcc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5adcba5731894167542293910fb7807"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"level":"info","message":"POST /relations/query 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"012d200b92a8b460908709fb66cd600e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":44}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910033,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762532,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk"} 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":"99d06b4bd858a8b05e61e7150af99dcc"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"539f070a-2ed9-42a0-a912-aaa3c2386350","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762532.769414} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"012d200b92a8b460908709fb66cd600e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":38}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:30.695033020Z"}]},"request_id":"203554ce-131e-4776-9637-94125bd1d505","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762532.8148563} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.237","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"012d200b92a8b460908709fb66cd600e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1abc8aeb9468b463952645d5dcf016eb","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"012d200b92a8b460908709fb66cd600e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"PATCH /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0 200 239ms","method":"PATCH","requestID":"012d200b92a8b460908709fb66cd600e","responseTime":239,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930049,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:32Z"} gateway-1 | {"time_local":"07/Jun/2024:12:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.086","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"99d06b4bd858a8b05e61e7150af99dcc"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762532,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk"} device-1 | {"level":"info","message":"POST /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/websocket 200 84ms","method":"POST","requestID":"99d06b4bd858a8b05e61e7150af99dcc","responseTime":84,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/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":"1abc8aeb9468b463952645d5dcf016eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.062","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1abc8aeb9468b463952645d5dcf016eb"} device-1 | {"level":"info","message":"POST /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/websocket 200 57ms","method":"POST","requestID":"1abc8aeb9468b463952645d5dcf016eb","responseTime":57,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3790a0d147745ea58a21a7a7fa754c51","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"device 'http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0' connected"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.539994,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762532,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk"} 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":"3790a0d147745ea58a21a7a7fa754c51"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:30.695033020Z"}]},"request_id":"74a93950-9b25-4051-bb0a-6632fb97c149","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762532.954058} 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":"3790a0d147745ea58a21a7a7fa754c51"},"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":"07/Jun/2024:12:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3790a0d147745ea58a21a7a7fa754c51"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1169e2f01d2994adc91a26ccc5560232","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0? 200 56ms","method":"GET","requestID":"3790a0d147745ea58a21a7a7fa754c51","responseTime":56,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.002787,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762532,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzMn0._fqK-7uciMMqPqZnoiiag6fz9YHorhrYQSYm1OQWmPk"} 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":"1169e2f01d2994adc91a26ccc5560232"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:31.012609281Z"}]},"request_id":"e97b4e9e-4369-4211-b9f2-e7453a34854a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.0478702} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1169e2f01d2994adc91a26ccc5560232"},"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/fb7b9df0-91ea-4a41-b615-0e30181955b2? 200 65ms","method":"GET","requestID":"1169e2f01d2994adc91a26ccc5560232","responseTime":65,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1169e2f01d2994adc91a26ccc5560232"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"483c2f1ce1bdce649609411a8f530087","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:40588","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.944385,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762533,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU"} 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":"483c2f1ce1bdce649609411a8f530087"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"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:40588","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909611,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762533,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a37684c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:30.695033020Z"}]},"request_id":"47f9f1bd-c1fb-46ff-b4a2-d7ee6c06a8d3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.170729} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a37684c0-24c7-11ef-b353-d1d4e8136596"},"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:37590","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0? 200 46ms","method":"GET","requestID":"a37684c0-24c7-11ef-b353-d1d4e8136596","responseTime":46,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0?"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.850045,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762533,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a376d2e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:31.012609281Z"}]},"request_id":"6aae160e-7245-4483-bed6-1e98aa4e4ee4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.1923826} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a376d2e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2? 200 90ms","method":"GET","requestID":"a376d2e0-24c7-11ef-b353-d1d4e8136596","responseTime":90,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055231,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762533,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU"} 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":"a3bc1940-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941434,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762533,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU"} 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":"a3bc4050-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:31.012609281Z"}]},"request_id":"4b028670-dee8-4c80-b9d6-cd8f0261313f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.6174157} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:30.695033020Z"}]},"request_id":"bbea270d-9ce0-4fbd-bb76-5a9a96d73b43","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.644502} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2? 200 63ms","method":"GET","requestID":"a3bc4050-24c7-11ef-b353-d1d4e8136596","responseTime":63,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a3bc4050-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":37}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0? 200 71ms","method":"GET","requestID":"a3bc1940-24c7-11ef-b353-d1d4e8136596","responseTime":71,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a3bc1940-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":37}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:37596","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:37596","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.684397,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a846e933-be31-40e0-904c-247554516c38","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.664441} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd4d26f6e-e25f-4fa1-979a-6620c4f30db2#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd4d26f6e-e25f-4fa1-979a-6620c4f30db2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"29d3d269-ad0f-43da-94e0-c2fd91b1ee52","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.6659148} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0767a63-5956-4c10-9713-bb9e8b9f7297","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.6701593} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling 200 113ms","method":"POST","requestID":"a3bc8e70-24c7-11ef-b353-d1d4e8136596","responseTime":113,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 75ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a3bc8e70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":75}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"483c2f1ce1bdce649609411a8f530087"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":106}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.222907,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"808f9207-58a4-418e-9b97-122509a45bea","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.716848} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"07/Jun/2024:12:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.670","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"483c2f1ce1bdce649609411a8f530087"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling 200 66ms","method":"POST","requestID":"a3c82730-24c7-11ef-b353-d1d4e8136596","responseTime":66,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /authorize 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a3c82730-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.662111,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0de8530c-8950-4c81-9b3c-3fbf9d22db75","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.7249572} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 697ms","method":"POST","requestID":"483c2f1ce1bdce649609411a8f530087","responseTime":697,"status":201,"url":"/experiments?"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"8dc0c0507a41ff1fa024436ffd3f3655","responseTime":33,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a3ceddf0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":44}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.548274,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4300baf5-6d68-42d3-b252-6a5522a6df3c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.804068} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling 200 101ms","method":"POST","requestID":"a3ceddf0-24c7-11ef-b353-d1d4e8136596","responseTime":101,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a3d7dea0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":43}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899384,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762533,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dc0c0507a41ff1fa024436ffd3f3655"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"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":"0f57aa3c-511e-42b4-9ba2-d9ff3e164e46"},{"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":"a05c177e-1f84-4a8d-a1f7-2be454119025"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"66a57241-8332-4daa-994c-ccdc1999ee92"}]},"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/fb7b9df0-91ea-4a41-b615-0e30181955b2"},{"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/418c16b5-b539-49a6-8b9d-ff7cdd42bda0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"POST /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling 200 81ms","method":"POST","requestID":"a3d7dea0-24c7-11ef-b353-d1d4e8136596","responseTime":81,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:30.695033020Z"}]},"request_id":"242a8e01-966b-4b30-aaa5-8946c0135de7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.8612247} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.689723,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762533,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","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":"a3e52510-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"level":"info","message":"POST /relations/query 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dc0c0507a41ff1fa024436ffd3f3655"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0? 200 97ms","method":"GET","requestID":"8dc0c0507a41ff1fa024436ffd3f3655","responseTime":97,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8dc0c0507a41ff1fa024436ffd3f3655"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"a8bb2ee4f2d67a831e1cf99454a0ad04","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.58122,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762533,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzM30._bp5RHMcmNxk6PR7OQ2rNhu_rHcooV0k4mhpDWIkxnU"} 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":"a8bb2ee4f2d67a831e1cf99454a0ad04"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:31.012609281Z"}]},"request_id":"bf3e7276-4b68-4fc8-94a8-a40690100cc4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.9623551} 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":"a8bb2ee4f2d67a831e1cf99454a0ad04"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2? 200 77ms","method":"GET","requestID":"a8bb2ee4f2d67a831e1cf99454a0ad04","responseTime":77,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8bb2ee4f2d67a831e1cf99454a0ad04"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"0971daee-9e1f-4cd9-863f-a5032a9decc7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.9966767} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"381d0bb3-ed48-491d-bdcf-0570e04e9bad","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762533.9973302} 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":"a3e52510-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":81}} 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/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12'"} 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 206ms","method":"POST","requestID":"a3e52510-24c7-11ef-b353-d1d4e8136596","responseTime":206,"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/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:34Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.460661,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:34Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a27e687-b4a2-4e07-99b9-bcc669a4d637","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762534.250661} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling 200 43ms","method":"POST","requestID":"a4203240-24c7-11ef-b353-d1d4e8136596","responseTime":43,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4203240-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:34Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.345708,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:34Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44495729-cb6f-4b36-b4bd-149c42e478a3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762534.3024225} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a427d360-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling 200 42ms","method":"POST","requestID":"a427d360-24c7-11ef-b353-d1d4e8136596","responseTime":42,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling"} device-1 | {"data":{"peerconnection":"7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","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/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"06b7c07d5c4a192e761ab78ca3460e23","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/fb7b9df0-91ea-4a41-b615-0e30181955b2"},{"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/418c16b5-b539-49a6-8b9d-ff7cdd42bda0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 16ms","method":"POST","requestID":"06b7c07d5c4a192e761ab78ca3460e23","responseTime":16,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.022","http_referrer":"","http_user_agent":"node-fetch","requestID":"06b7c07d5c4a192e761ab78ca3460e23"} device-1 | {"data":{"peerconnection":"7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fca95dfcc2ff4c73bfd1410672faa521","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/fb7b9df0-91ea-4a41-b615-0e30181955b2"},{"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/418c16b5-b539-49a6-8b9d-ff7cdd42bda0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.06569,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f18f8ac9-1b56-4c9d-b6a1-eeb3e589fab3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762536.470416} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","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":"a5731810-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12 200 17ms","method":"GET","requestID":"a5731810-24c7-11ef-b353-d1d4e8136596","responseTime":17,"status":200,"url":"/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzNn0.zvrWbU9wF7gziAh6m5n6MMpSqeRlE1mTS6T7vrstXq4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b311ac6efbf59d428eb69c38d15478b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.907528,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762536,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzNn0.zvrWbU9wF7gziAh6m5n6MMpSqeRlE1mTS6T7vrstXq4"} 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":"2b311ac6efbf59d428eb69c38d15478b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"fca95dfcc2ff4c73bfd1410672faa521","responseTime":131,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"fca95dfcc2ff4c73bfd1410672faa521"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.936149,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1153f41f-1384-4a9e-8e14-ee544d201e3c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762536.554663} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a57fc240-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"} gateway-1 | {"time_local":"07/Jun/2024:12:15:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.112","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b311ac6efbf59d428eb69c38d15478b"} experiment-1 | {"level":"info","message":"GET /experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2 200 93ms","method":"GET","requestID":"2b311ac6efbf59d428eb69c38d15478b","responseTime":93,"status":200,"url":"/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzNn0.zvrWbU9wF7gziAh6m5n6MMpSqeRlE1mTS6T7vrstXq4","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling 200 51ms","method":"POST","requestID":"a57fc240-24c7-11ef-b353-d1d4e8136596","responseTime":51,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"08c4535160c1b1e885d61886fbbc7c54","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.147818,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.966465,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7343647-9fd4-4ecd-bdc2-351fda60d51e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762536.6098642} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a58826b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762536,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzNn0.zvrWbU9wF7gziAh6m5n6MMpSqeRlE1mTS6T7vrstXq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","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":"08c4535160c1b1e885d61886fbbc7c54"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":36}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling 200 46ms","method":"POST","requestID":"a58826b0-24c7-11ef-b353-d1d4e8136596","responseTime":46,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.991154,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762536,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzNn0.zvrWbU9wF7gziAh6m5n6MMpSqeRlE1mTS6T7vrstXq4"} 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":"a59211c0-24c7-11ef-b353-d1d4e8136596"},"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/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"077f04f06e3c429dab7a5a8b1bf34514","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"db5a54cc-785e-4b03-aca1-705bc7825bfc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762536.72135} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8f861f4c093b596c0685fb879b49c1e5","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/fb7b9df0-91ea-4a41-b615-0e30181955b2"},{"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/418c16b5-b539-49a6-8b9d-ff7cdd42bda0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2"},{"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/418c16b5-b539-49a6-8b9d-ff7cdd42bda0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12"}}},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fb61840-ad8f-4cfb-a85c-56cc4de80590","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762536.7216694} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"a59211c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"data":{"peerconnection":"7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12","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/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12 204 125ms","method":"DELETE","requestID":"a59211c0-24c7-11ef-b353-d1d4e8136596","responseTime":125,"status":204,"url":"/peerconnections/7c7c9e2e-3751-4dce-9c4a-dc381dcc1a12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb7b9df0-91ea-4a41-b615-0e30181955b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e85c738-8197-4d16-8dc9-f1bcb2a5f5e6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762536.8960824} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd4d26f6e-e25f-4fa1-979a-6620c4f30db2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd4d26f6e-e25f-4fa1-979a-6620c4f30db2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"95972533-288c-4cc7-809b-afcb78b1bcb0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762536.8968215} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb438909-bc55-463e-902b-688c5ae380d1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762536.8973825} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","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":"08c4535160c1b1e885d61886fbbc7c54"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":53}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.528526,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5b243f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling 200 58ms","method":"POST","requestID":"a5b243f0-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F418c16b5-b539-49a6-8b9d-ff7cdd42bda0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"340a0af0-113c-4ad2-93ea-984cda53c849","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762536.9847353} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.758382,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5bbe0e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":46}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling 200 56ms","method":"POST","requestID":"a5bbe0e0-24c7-11ef-b353-d1d4e8136596","responseTime":56,"status":200,"url":"/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"} experiment-1 | {"level":"info","message":"DELETE /experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2 204 560ms","method":"DELETE","requestID":"08c4535160c1b1e885d61886fbbc7c54","responseTime":560,"status":204,"url":"/experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2"} gateway-1 | {"time_local":"07/Jun/2024:12:15:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"4.353","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a74fa6f29091797a711b39603509021b"} gateway-1 | {"time_local":"07/Jun/2024:12:15:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"4.304","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a3ce117d414c18111a6c575ac1add044"} gateway-1 | {"time_local":"07/Jun/2024:12:15:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d4d26f6e-e25f-4fa1-979a-6620c4f30db2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.569","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08c4535160c1b1e885d61886fbbc7c54"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/418c16b5-b539-49a6-8b9d-ff7cdd42bda0' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzN30.SJyJXFjIG_9x_-pBxJFTm-M9R-YhdToytaXfu8WXF2w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"10bf74fd6d6806b99ee09d4db640e781","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:37Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fb7b9df0-91ea-4a41-b615-0e30181955b2' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 479ms","method":"POST","requestID":"077f04f06e3c429dab7a5a8b1bf34514","responseTime":479,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":7.404516,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762537,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzN30.SJyJXFjIG_9x_-pBxJFTm-M9R-YhdToytaXfu8WXF2w"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","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":"10bf74fd6d6806b99ee09d4db640e781"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.527","http_referrer":"","http_user_agent":"node-fetch","requestID":"077f04f06e3c429dab7a5a8b1bf34514"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 516ms","method":"POST","requestID":"8f861f4c093b596c0685fb879b49c1e5","responseTime":516,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.521","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f861f4c093b596c0685fb879b49c1e5"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0ac77dea-98c3-4e7b-bf67-8f98c05602df","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.354903} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10bf74fd6d6806b99ee09d4db640e781"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"335443bd-f2ba-4f9e-9f0c-84f181e963b1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.3618114} 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":"10bf74fd6d6806b99ee09d4db640e781"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"d6a8de8e-aa8b-4533-ab7b-644944c75780","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.4027138} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e54c631-6f44-454d-8145-ef0147b07ec6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.404401} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","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":"10bf74fd6d6806b99ee09d4db640e781"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":44}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.402677817Z"}]},"request_id":"8a8fca75-6949-44cd-8dd2-91e9083cd41a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.414032} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 218ms","method":"POST","requestID":"10bf74fd6d6806b99ee09d4db640e781","responseTime":218,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10bf74fd6d6806b99ee09d4db640e781"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:15:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.228","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10bf74fd6d6806b99ee09d4db640e781"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzN30.SJyJXFjIG_9x_-pBxJFTm-M9R-YhdToytaXfu8WXF2w","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"level":"info","message":"GET /auth 200 40ms","method":"GET","requestID":"b46063adbc3d7053f7633619876b3510","responseTime":40,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.913237,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762537,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjUzN30.SJyJXFjIG_9x_-pBxJFTm-M9R-YhdToytaXfu8WXF2w"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b46063adbc3d7053f7633619876b3510"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"06edc7d4-9184-4329-938a-fbe47911bc51","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.5700736} 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":"b46063adbc3d7053f7633619876b3510"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95c88f30-8978-46f9-b3ff-2aa78160c4c5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.576656} 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":"b46063adbc3d7053f7633619876b3510"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"814ce5d0-ce65-4d8e-9adb-598725e9f6ed","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.6219296} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5ae6b96-34a0-4b31-87fb-48399e9a750e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.6231937} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","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":"b46063adbc3d7053f7633619876b3510"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":51}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.621897587Z"}]},"request_id":"f36f270d-0e57-44db-9a11-8df6dd336453","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762537.656953} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b46063adbc3d7053f7633619876b3510"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} gateway-1 | {"time_local":"07/Jun/2024:12:15:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b46063adbc3d7053f7633619876b3510"} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 198ms","method":"POST","requestID":"b46063adbc3d7053f7633619876b3510","responseTime":198,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"02c5431507937295787318e189693376","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1e32bd96-7518-43df-a971-854efdb31054/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":"02c5431507937295787318e189693376"} device-1 | {"level":"info","message":"OPTIONS /devices/1e32bd96-7518-43df-a971-854efdb31054/websocket 200 1ms","method":"OPTIONS","requestID":"02c5431507937295787318e189693376","responseTime":1,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9297d3bf84639cbfd6a7eb7c8d6888a2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d52ac371-1d42-437a-a694-2684cb0f780f/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":"9297d3bf84639cbfd6a7eb7c8d6888a2"} device-1 | {"level":"info","message":"OPTIONS /devices/d52ac371-1d42-437a-a694-2684cb0f780f/websocket 200 1ms","method":"OPTIONS","requestID":"9297d3bf84639cbfd6a7eb7c8d6888a2","responseTime":1,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MH0.Jf_TU0O6HGCZVbkXpCm6mz4kLw3QsaAbbCibE7Wts3Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"901003e44501283d91d2d10aa895760f","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MH0.Jf_TU0O6HGCZVbkXpCm6mz4kLw3QsaAbbCibE7Wts3Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"7b94ee9a6f7a286ba33a607c460e9a51","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:40Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919735,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:40Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:40Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055291,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762540,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MH0.Jf_TU0O6HGCZVbkXpCm6mz4kLw3QsaAbbCibE7Wts3Y"} 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":"901003e44501283d91d2d10aa895760f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762540,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MH0.Jf_TU0O6HGCZVbkXpCm6mz4kLw3QsaAbbCibE7Wts3Y"} 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":"7b94ee9a6f7a286ba33a607c460e9a51"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} gateway-1 | {"time_local":"07/Jun/2024:12:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1e32bd96-7518-43df-a971-854efdb31054/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.141","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"901003e44501283d91d2d10aa895760f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/1e32bd96-7518-43df-a971-854efdb31054/websocket 200 109ms","method":"POST","requestID":"901003e44501283d91d2d10aa895760f","responseTime":109,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d52ac371-1d42-437a-a694-2684cb0f780f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.159","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7b94ee9a6f7a286ba33a607c460e9a51"} device-1 | {"level":"info","message":"POST /devices/d52ac371-1d42-437a-a694-2684cb0f780f/websocket 200 123ms","method":"POST","requestID":"7b94ee9a6f7a286ba33a607c460e9a51","responseTime":123,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MH0.Jf_TU0O6HGCZVbkXpCm6mz4kLw3QsaAbbCibE7Wts3Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"30addab904c246154626bed6696fa89c","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:40Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926843,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762540,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MH0.Jf_TU0O6HGCZVbkXpCm6mz4kLw3QsaAbbCibE7Wts3Y"} 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":"30addab904c246154626bed6696fa89c"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.402677817Z"}]},"request_id":"92376584-b87c-4a2b-8b29-ad275f10522f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.0005486} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30addab904c246154626bed6696fa89c"},"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/d52ac371-1d42-437a-a694-2684cb0f780f? 200 21ms","method":"GET","requestID":"30addab904c246154626bed6696fa89c","responseTime":21,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d52ac371-1d42-437a-a694-2684cb0f780f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30addab904c246154626bed6696fa89c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"02f5312aa6b653d198829fcace40a0c3","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959784,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762541,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24"} 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":"02f5312aa6b653d198829fcace40a0c3"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.621897587Z"}]},"request_id":"493c2478-bfb0-4aa1-b168-7053897d4cb3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.0509198} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02f5312aa6b653d198829fcace40a0c3"},"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":"07/Jun/2024:12:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e32bd96-7518-43df-a971-854efdb31054? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"02f5312aa6b653d198829fcace40a0c3"} device-1 | {"level":"info","message":"GET /devices/1e32bd96-7518-43df-a971-854efdb31054? 200 23ms","method":"GET","requestID":"02f5312aa6b653d198829fcace40a0c3","responseTime":23,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"bc42424f4901446f4aa5ad92e33fa2dd","responseTime":28,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.921747,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762541,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24"} 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":"bc42424f4901446f4aa5ad92e33fa2dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"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:40588","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969035,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926617,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762541,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a846d180-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762541,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8471fa0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.402677817Z"}]},"request_id":"7cb0db7e-1e50-4482-ac9c-be713ce862c7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.2558224} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.621897587Z"}]},"request_id":"bff10dc0-5cf4-4f22-86cb-5cc8f2afba20","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.258562} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d52ac371-1d42-437a-a694-2684cb0f780f? 200 57ms","method":"GET","requestID":"a846d180-24c7-11ef-b353-d1d4e8136596","responseTime":57,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a846d180-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1e32bd96-7518-43df-a971-854efdb31054? 200 61ms","method":"GET","requestID":"a8471fa0-24c7-11ef-b353-d1d4e8136596","responseTime":61,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8471fa0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"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:40588","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91809,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92417,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762541,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24"} 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":"a8700460-24c7-11ef-b353-d1d4e8136596"},"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/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762541,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24"} 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":"a873fc00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.402677817Z"}]},"request_id":"ac57922f-1f96-4c1e-ac7d-e1c70feb7c4d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.5269656} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"level":"info","message":"POST /relations/query 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8700460-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.621897587Z"}]},"request_id":"a2e6b807-be1e-416e-a40c-f229ae67f08f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.5582366} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d52ac371-1d42-437a-a694-2684cb0f780f? 200 96ms","method":"GET","requestID":"a8700460-24c7-11ef-b353-d1d4e8136596","responseTime":96,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a873fc00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":42}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1e32bd96-7518-43df-a971-854efdb31054? 200 77ms","method":"GET","requestID":"a873fc00-24c7-11ef-b353-d1d4e8136596","responseTime":77,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6645aae-d790-4b86-89d7-a4c14f92ee9b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.610207} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":31.351589,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 82ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a876e230-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":82}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling 200 146ms","method":"POST","requestID":"a876e230-24c7-11ef-b353-d1d4e8136596","responseTime":146,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F756fedc5-cb9d-4b30-8a1c-45cc5671a72e#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F756fedc5-cb9d-4b30-8a1c-45cc5671a72e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"3da72e28-5375-4da5-b12d-3df006de8883","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.6639812} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec3fa9f5-c4ef-40e6-8f54-9117628c6f3e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.6653888} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d597727-a2a5-4815-9441-67f045a70643","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.6740675} authorization-1 | {"level":"info","message":"POST /relations/update 200 108ms","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":"bc42424f4901446f4aa5ad92e33fa2dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":108}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.019488,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling 200 85ms","method":"POST","requestID":"a887f930-24c7-11ef-b353-d1d4e8136596","responseTime":85,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 50ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a887f930-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":50}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"422a1dc5-ee3b-4bd8-920f-33ec0fbb923b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.714428} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.048799,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a88d7770-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 676ms","method":"POST","requestID":"bc42424f4901446f4aa5ad92e33fa2dd","responseTime":676,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1e32bd96-7518-43df-a971-854efdb31054/signaling 200 100ms","method":"POST","requestID":"a88d7770-24c7-11ef-b353-d1d4e8136596","responseTime":100,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9ab4c43-7509-40b9-9453-6330cd10afbc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.77452} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.323384,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"07/Jun/2024:12:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.709","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc42424f4901446f4aa5ad92e33fa2dd"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8976280-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1e32bd96-7518-43df-a971-854efdb31054/signaling 200 100ms","method":"POST","requestID":"a8976280-24c7-11ef-b353-d1d4e8136596","responseTime":100,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 61ms","method":"GET","requestID":"00cd42b888452fc9a10c18d182126814","responseTime":61,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"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":"3f69fbe3-0000-42de-815e-6132ec6d145f"},{"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":"1dd9f872-c6e1-45c8-bfcd-e7f9a5d7f65a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7d4db042-ca58-4668-bacd-c3ffc5cc91a1"}]},"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/d52ac371-1d42-437a-a694-2684cb0f780f"},{"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/1e32bd96-7518-43df-a971-854efdb31054"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915368,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.945333,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762541,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24"} 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":"00cd42b888452fc9a10c18d182126814"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762541,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8a7b630-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.402677817Z"}]},"request_id":"bbec565c-255f-4a8c-8278-390fa9685ae5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.8624074} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00cd42b888452fc9a10c18d182126814"},"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/d52ac371-1d42-437a-a694-2684cb0f780f? 200 34ms","method":"GET","requestID":"00cd42b888452fc9a10c18d182126814","responseTime":34,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d52ac371-1d42-437a-a694-2684cb0f780f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00cd42b888452fc9a10c18d182126814"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"48654331-112b-498a-8355-d6ca76aba0d9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.8799467} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c601c2d8-d720-4cc7-9f96-d73f5d8100d4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.8812194} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8a7b630-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"e2001bcdb2136dc870594c344dc424fc","responseTime":22,"status":200,"url":"/auth"} 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/ef46f15b-3641-47c6-b14f-c95b7d01393d'"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d'"} 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 99ms","method":"POST","requestID":"a8a7b630-24c7-11ef-b353-d1d4e8136596","responseTime":99,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886557,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762541,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0MX0.SHIGfiLU7LWWZcvw5EBpBm_2TpFqCjLWcAX39tQVL24"} 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":"e2001bcdb2136dc870594c344dc424fc"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:37.621897587Z"}]},"request_id":"ec42715b-abcf-418f-88bb-b31fc08c187f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762541.9940112} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2001bcdb2136dc870594c344dc424fc"},"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/1e32bd96-7518-43df-a971-854efdb31054? 200 78ms","method":"GET","requestID":"e2001bcdb2136dc870594c344dc424fc","responseTime":78,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e32bd96-7518-43df-a971-854efdb31054? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2001bcdb2136dc870594c344dc424fc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.110704,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e9ffb55-2ff3-4719-819f-d6e06fda765f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762542.108507} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling 200 39ms","method":"POST","requestID":"a8cbb8f0-24c7-11ef-b353-d1d4e8136596","responseTime":39,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8cbb8f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.886898,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"441d7f82-b55c-4af2-8110-d70638858760","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762542.1283855} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8d26fb0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":45}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1e32bd96-7518-43df-a971-854efdb31054/signaling 200 55ms","method":"POST","requestID":"a8d26fb0-24c7-11ef-b353-d1d4e8136596","responseTime":55,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ef46f15b-3641-47c6-b14f-c95b7d01393d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f"},{"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/1e32bd96-7518-43df-a971-854efdb31054"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a6a97331e390679422b4572e71a9fdb5","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"peerconnection":"ef46f15b-3641-47c6-b14f-c95b7d01393d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"a6a97331e390679422b4572e71a9fdb5","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"a6a97331e390679422b4572e71a9fdb5"} device-1 | {"data":{"peerconnection":"ef46f15b-3641-47c6-b14f-c95b7d01393d","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ef46f15b-3641-47c6-b14f-c95b7d01393d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1384014aa50822dfa43beded99c6db79","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/d52ac371-1d42-437a-a694-2684cb0f780f"},{"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/1e32bd96-7518-43df-a971-854efdb31054"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d"}}},"level":"info","message":"received a callback"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:42Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d 200 14ms","method":"GET","requestID":"a91a4e20-24c7-11ef-b353-d1d4e8136596","responseTime":14,"status":200,"url":"/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fef46f15b-3641-47c6-b14f-c95b7d01393d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ca1c6fc-dc2e-4e4d-aedb-137ba7150f7a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762542.6007326} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.739709,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d","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":"a91a4e20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Mn0.KNxoDRy2mhN7NQNpS3a6KiRdQZExEXPnvaJdaCV6sIo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"af69c8f620b8457d9e7d24a54ada6a53","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.909377,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762542,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Mn0.KNxoDRy2mhN7NQNpS3a6KiRdQZExEXPnvaJdaCV6sIo"} 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":"af69c8f620b8457d9e7d24a54ada6a53"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 217ms","method":"POST","requestID":"1384014aa50822dfa43beded99c6db79","responseTime":217,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.230","http_referrer":"","http_user_agent":"node-fetch","requestID":"1384014aa50822dfa43beded99c6db79"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5802f0f6-ecdc-4445-9e50-9805929cd461","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762542.7157733} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.329616,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a92b6520-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling 200 18ms","method":"POST","requestID":"a92b6520-24c7-11ef-b353-d1d4e8136596","responseTime":18,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a4b5d7d-cdff-4d27-b648-189227aea7d8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762542.7395916} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"} gateway-1 | {"time_local":"07/Jun/2024:12:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af69c8f620b8457d9e7d24a54ada6a53"} experiment-1 | {"level":"info","message":"GET /experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e 200 123ms","method":"GET","requestID":"af69c8f620b8457d9e7d24a54ada6a53","responseTime":123,"status":200,"url":"/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Mn0.KNxoDRy2mhN7NQNpS3a6KiRdQZExEXPnvaJdaCV6sIo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"37bbf1933b01a1f3d7dcefd420d0e1d8","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":55.996054,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1e32bd96-7518-43df-a971-854efdb31054/signaling 200 67ms","method":"POST","requestID":"a92ec080-24c7-11ef-b353-d1d4e8136596","responseTime":67,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 60ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a92ec080-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":60}} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.94793,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762542,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Mn0.KNxoDRy2mhN7NQNpS3a6KiRdQZExEXPnvaJdaCV6sIo"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","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":"37bbf1933b01a1f3d7dcefd420d0e1d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.855462,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762542,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Mn0.KNxoDRy2mhN7NQNpS3a6KiRdQZExEXPnvaJdaCV6sIo"} 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":"a943cf20-24c7-11ef-b353-d1d4e8136596"},"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/ef46f15b-3641-47c6-b14f-c95b7d01393d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ef46f15b-3641-47c6-b14f-c95b7d01393d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"40b164a399574ad4aae90051028c754e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f"},{"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/1e32bd96-7518-43df-a971-854efdb31054"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d"}}},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d357261-2ad9-4181-ae1c-cc0816f047c3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762542.9254167} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fef46f15b-3641-47c6-b14f-c95b7d01393d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fef46f15b-3641-47c6-b14f-c95b7d01393d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"c1548d1e-d513-4e8e-88c4-13dda5b15d93","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762542.9265032} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a943cf20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e4356218997ee25051a695aa8f06ccd9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f"},{"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/1e32bd96-7518-43df-a971-854efdb31054"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"ef46f15b-3641-47c6-b14f-c95b7d01393d","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/ef46f15b-3641-47c6-b14f-c95b7d01393d 204 169ms","method":"DELETE","requestID":"a943cf20-24c7-11ef-b353-d1d4e8136596","responseTime":169,"status":204,"url":"/peerconnections/ef46f15b-3641-47c6-b14f-c95b7d01393d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:43Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52ac371-1d42-437a-a694-2684cb0f780f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"223c6c78-b3cd-4751-8962-05e55b705fe5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.1365166} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.864502,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a96bc980-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"POST /devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling 200 15ms","method":"POST","requestID":"a96bc980-24c7-11ef-b353-d1d4e8136596","responseTime":15,"status":200,"url":"/devices/d52ac371-1d42-437a-a694-2684cb0f780f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:43Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.448982,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:43Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F756fedc5-cb9d-4b30-8a1c-45cc5671a72e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F756fedc5-cb9d-4b30-8a1c-45cc5671a72e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"bd910387-3600-4137-bf6c-3924d820ce37","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.1764839} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee13664e-27e0-43a1-a267-5b2cfca83638","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.1769989} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e32bd96-7518-43df-a971-854efdb31054","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"441fdd89-c00b-461e-acd2-c5feff71eca2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.1812978} 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":"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":"37bbf1933b01a1f3d7dcefd420d0e1d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":96}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 53ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9723220-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":53}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1e32bd96-7518-43df-a971-854efdb31054/signaling 200 64ms","method":"POST","requestID":"a9723220-24c7-11ef-b353-d1d4e8136596","responseTime":64,"status":200,"url":"/devices/1e32bd96-7518-43df-a971-854efdb31054/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"} experiment-1 | {"level":"info","message":"DELETE /experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e 204 614ms","method":"DELETE","requestID":"37bbf1933b01a1f3d7dcefd420d0e1d8","responseTime":614,"status":204,"url":"/experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 473ms","method":"POST","requestID":"40b164a399574ad4aae90051028c754e","responseTime":473,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 468ms","method":"POST","requestID":"e4356218997ee25051a695aa8f06ccd9","responseTime":468,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.477","http_referrer":"","http_user_agent":"node-fetch","requestID":"e4356218997ee25051a695aa8f06ccd9"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.504","http_referrer":"","http_user_agent":"node-fetch","requestID":"40b164a399574ad4aae90051028c754e"} gateway-1 | {"time_local":"07/Jun/2024:12:15:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/756fedc5-cb9d-4b30-8a1c-45cc5671a72e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.619","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37bbf1933b01a1f3d7dcefd420d0e1d8"} gateway-1 | {"time_local":"07/Jun/2024:12:15:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3194","request_time":"2.599","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ab8a858ebac20df29cc1d4fa1878557b"} gateway-1 | {"time_local":"07/Jun/2024:12:15:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3198","request_time":"2.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":"4f398867d66863a32ae045ad510f6749"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1e32bd96-7518-43df-a971-854efdb31054' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0M30.Yc2QQuAk2ieH-Fp2MZjEg9hQ5tp1X3EvhhK22qLIR-Q","level":"info","message":"auth send jwt"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d52ac371-1d42-437a-a694-2684cb0f780f' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3a31567be198c68b6cf94f3bdb9c825a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:43Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.875961,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762543,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0M30.Yc2QQuAk2ieH-Fp2MZjEg9hQ5tp1X3EvhhK22qLIR-Q"} 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":"3a31567be198c68b6cf94f3bdb9c825a"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ec92548f-08bc-44f6-a1fd-34614ce8d744","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.5578644} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a31567be198c68b6cf94f3bdb9c825a"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52d3dd0f-d6d9-43c2-b6f3-4d5f6aa0c4c1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.590928} 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":"3a31567be198c68b6cf94f3bdb9c825a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"acb7f7dc-4ac0-4cb7-a2bc-4aad3167af33","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.6404324} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d19bbed1-7464-4d13-9daa-aff51fd41239","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.6416605} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","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":"3a31567be198c68b6cf94f3bdb9c825a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":53}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.640401302Z"}]},"request_id":"cca3b0d2-c3fa-4cda-adff-a75dc2299c6b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.6541154} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 163ms","method":"POST","requestID":"3a31567be198c68b6cf94f3bdb9c825a","responseTime":163,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a31567be198c68b6cf94f3bdb9c825a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:15:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a31567be198c68b6cf94f3bdb9c825a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0M30.Yc2QQuAk2ieH-Fp2MZjEg9hQ5tp1X3EvhhK22qLIR-Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"4a932e2001c34e52e63138497bb6ce2b","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:43Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.865285,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762543,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0M30.Yc2QQuAk2ieH-Fp2MZjEg9hQ5tp1X3EvhhK22qLIR-Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a932e2001c34e52e63138497bb6ce2b"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b4ac28cd-fe50-475e-bfaf-a7e2ccee678c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.74639} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a932e2001c34e52e63138497bb6ce2b"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6acb0083-1839-42fa-9f04-6425307082e8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.7585728} 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":"4a932e2001c34e52e63138497bb6ce2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"0afb8264-fce9-41c5-8cfb-ddd38973d894","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.802914} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b11dc77c-661e-4abf-b088-b9f9af5c895c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.8041646} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","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":"4a932e2001c34e52e63138497bb6ce2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.802881510Z"}]},"request_id":"0cab91ff-9999-483c-8f9c-998be72e7095","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762543.8147423} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a932e2001c34e52e63138497bb6ce2b"},"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":"07/Jun/2024:12:15:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a932e2001c34e52e63138497bb6ce2b"} device-1 | {"level":"info","message":"POST /devices? 201 128ms","method":"POST","requestID":"4a932e2001c34e52e63138497bb6ce2b","responseTime":128,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"47630c3e6d4b178e369abf0cb6c2eb3f","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/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":"47630c3e6d4b178e369abf0cb6c2eb3f"} device-1 | {"level":"info","message":"OPTIONS /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/websocket 200 1ms","method":"OPTIONS","requestID":"47630c3e6d4b178e369abf0cb6c2eb3f","responseTime":1,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Nn0.69BuDItP5g0L8FFMhvTYymk38xhOi9WFIcewFuX5rrg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"26bd8f303937d02297a7a9f487650bd6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945674,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762546,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Nn0.69BuDItP5g0L8FFMhvTYymk38xhOi9WFIcewFuX5rrg"} 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":"26bd8f303937d02297a7a9f487650bd6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1d5f6d858a9565604c11441cfbb84fd9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/81151c15-50d8-4127-b241-a04b1f09548a/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":"1d5f6d858a9565604c11441cfbb84fd9"} device-1 | {"level":"info","message":"OPTIONS /devices/81151c15-50d8-4127-b241-a04b1f09548a/websocket 200 1ms","method":"OPTIONS","requestID":"1d5f6d858a9565604c11441cfbb84fd9","responseTime":1,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:15:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.122","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"26bd8f303937d02297a7a9f487650bd6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/websocket 200 116ms","method":"POST","requestID":"26bd8f303937d02297a7a9f487650bd6","responseTime":116,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Nn0.69BuDItP5g0L8FFMhvTYymk38xhOi9WFIcewFuX5rrg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0dc232bcdab35aff45062805ba34dd93","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.984675,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762546,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Nn0.69BuDItP5g0L8FFMhvTYymk38xhOi9WFIcewFuX5rrg"} 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":"0dc232bcdab35aff45062805ba34dd93"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"device 'http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/81151c15-50d8-4127-b241-a04b1f09548a/websocket 200 60ms","method":"POST","requestID":"0dc232bcdab35aff45062805ba34dd93","responseTime":60,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:15:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/81151c15-50d8-4127-b241-a04b1f09548a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.066","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0dc232bcdab35aff45062805ba34dd93"} device-1 | {"level":"info","message":"device 'http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Nn0.69BuDItP5g0L8FFMhvTYymk38xhOi9WFIcewFuX5rrg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 36ms","method":"GET","requestID":"73926fdc2f3f04c24180635a3d4bf369","responseTime":36,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86183,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762546,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Nn0.69BuDItP5g0L8FFMhvTYymk38xhOi9WFIcewFuX5rrg"} 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":"73926fdc2f3f04c24180635a3d4bf369"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.640401302Z"}]},"request_id":"8a7fe0e3-a6c7-4217-90ca-945733c4d5c6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762546.9375641} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73926fdc2f3f04c24180635a3d4bf369"},"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":"07/Jun/2024:12:15:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73926fdc2f3f04c24180635a3d4bf369"} device-1 | {"level":"info","message":"GET /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83? 200 59ms","method":"GET","requestID":"73926fdc2f3f04c24180635a3d4bf369","responseTime":59,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Nn0.69BuDItP5g0L8FFMhvTYymk38xhOi9WFIcewFuX5rrg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"bcaad0c16ab65e7b37d34a1f2ff413b7","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830383,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762546,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0Nn0.69BuDItP5g0L8FFMhvTYymk38xhOi9WFIcewFuX5rrg"} 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":"bcaad0c16ab65e7b37d34a1f2ff413b7"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.802881510Z"}]},"request_id":"c3fe8d13-563b-4085-9db5-9a55c82b3ba5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762546.9986715} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bcaad0c16ab65e7b37d34a1f2ff413b7"},"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/81151c15-50d8-4127-b241-a04b1f09548a? 200 61ms","method":"GET","requestID":"bcaad0c16ab65e7b37d34a1f2ff413b7","responseTime":61,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81151c15-50d8-4127-b241-a04b1f09548a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.073","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcaad0c16ab65e7b37d34a1f2ff413b7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"57f7f170fa8cf03cd733f99b52ba14c2","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:40588","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.820402,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762547,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA"} 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":"57f7f170fa8cf03cd733f99b52ba14c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"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:40588","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968268,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762547,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA"} 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":"abdca270-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.650768,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762547,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA"} 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":"abdd17a0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.640401302Z"}]},"request_id":"ea64b8dc-e560-49b3-b4dd-d226387cf5a5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.2650828} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.802881510Z"}]},"request_id":"75499dbf-e331-486b-aeca-7e60f2ba99f0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.272118} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abdca270-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":36}} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abdd17a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83? 200 57ms","method":"GET","requestID":"abdca270-24c7-11ef-b353-d1d4e8136596","responseTime":57,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/81151c15-50d8-4127-b241-a04b1f09548a? 200 57ms","method":"GET","requestID":"abdd17a0-24c7-11ef-b353-d1d4e8136596","responseTime":57,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"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:40588","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.075617,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862372,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762547,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA"} 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":"ac01b6a0-24c7-11ef-b353-d1d4e8136596"},"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/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762547,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac0204c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.640401302Z"}]},"request_id":"a9c38eea-aea3-48f0-bff7-74a55b9287d3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.527551} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.802881510Z"}]},"request_id":"db846b74-88b3-456b-bafd-7d3f1dacadbb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.5276723} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} 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":"ac0204c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/81151c15-50d8-4127-b241-a04b1f09548a? 200 97ms","method":"GET","requestID":"ac0204c0-24c7-11ef-b353-d1d4e8136596","responseTime":97,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83? 200 100ms","method":"GET","requestID":"ac01b6a0-24c7-11ef-b353-d1d4e8136596","responseTime":100,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac01b6a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a142a44-149d-48a9-8b5a-a7316716aaad","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.532729} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.92764,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac09f400-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":44}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3b8d435-e6a9-4d8f-aa19-9004ce778c4d#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3b8d435-e6a9-4d8f-aa19-9004ce778c4d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"216a1a4b-d7c8-4280-931a-62d3eee90122","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.5762775} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c75d506-4e9f-4d0c-94ab-692b1728380d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.5769877} authorization-1 | {"level":"info","message":"POST /relations/update 200 54ms","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":"57f7f170fa8cf03cd733f99b52ba14c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":54}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d58840c8-6a88-4666-b1a6-b20ecdff5cc0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.5796955} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling 200 61ms","method":"POST","requestID":"ac09f400-24c7-11ef-b353-d1d4e8136596","responseTime":61,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":16.165528,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac11bc30-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1b69fca-ef4d-4d66-9fc6-5917cdc959cc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.5978} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.962744,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac147b50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling 200 57ms","method":"POST","requestID":"ac11bc30-24c7-11ef-b353-d1d4e8136596","responseTime":57,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling 200 47ms","method":"POST","requestID":"ac147b50-24c7-11ef-b353-d1d4e8136596","responseTime":47,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"07/Jun/2024:12:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.582","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57f7f170fa8cf03cd733f99b52ba14c2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 556ms","method":"POST","requestID":"57f7f170fa8cf03cd733f99b52ba14c2","responseTime":556,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"56c4b9399665f3a758fe0c05fb452c36","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":14.739311,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8297f300-0ce1-42f2-b381-efae81049fa0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.6574488} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 53ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac1bce50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":53}} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37590","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947042,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762547,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA"} 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":"56c4b9399665f3a758fe0c05fb452c36"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.640401302Z"}]},"request_id":"a8f59ccf-ae4c-4278-b159-0aa6f5d8243a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.6994898} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56c4b9399665f3a758fe0c05fb452c36"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"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":"cd1fb70e-2eb8-4050-adeb-4675b8d8c030"},{"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":"0527b0c3-5c62-432a-a981-b00a7a1703ea"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"98acc769-e387-41ff-b507-e5699c34ba68"}]},"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/81151c15-50d8-4127-b241-a04b1f09548a"},{"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/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"POST /devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling 200 75ms","method":"POST","requestID":"ac1bce50-24c7-11ef-b353-d1d4e8136596","responseTime":75,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83? 200 70ms","method":"GET","requestID":"56c4b9399665f3a758fe0c05fb452c36","responseTime":70,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56c4b9399665f3a758fe0c05fb452c36"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.292732,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762547,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","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":"ac278e20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fb58ef6e3e77661149b4e267a0a3b3ac","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"8b9626f5-7219-4370-b822-0e8b3b0de167","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.768628} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"667874ef-1484-44c0-a85a-8046988b11b8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.769968} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"ac278e20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9279,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762547,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0N30.iyhOf52T1Lucgxw1fBGCbxjfTt29QecyQBILiqXkgnA"} 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":"fb58ef6e3e77661149b4e267a0a3b3ac"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:43.802881510Z"}]},"request_id":"99550f30-0bd7-4d06-86d0-1bc381ff834a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.810063} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb58ef6e3e77661149b4e267a0a3b3ac"},"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/c419c3c1-04ee-491c-a7a6-484214a4c711'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711'"} 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 151ms","method":"POST","requestID":"ac278e20-24c7-11ef-b353-d1d4e8136596","responseTime":151,"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":"07/Jun/2024:12:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81151c15-50d8-4127-b241-a04b1f09548a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.107","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb58ef6e3e77661149b4e267a0a3b3ac"} device-1 | {"level":"info","message":"GET /devices/81151c15-50d8-4127-b241-a04b1f09548a? 200 102ms","method":"GET","requestID":"fb58ef6e3e77661149b4e267a0a3b3ac","responseTime":102,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.694658,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:47Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a44e0839-79e7-48d5-9e3d-d9ea3552fa2f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762547.986409} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac5024c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling 200 22ms","method":"POST","requestID":"ac5024c0-24c7-11ef-b353-d1d4e8136596","responseTime":22,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.36843,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aea888a1-11f6-4328-ab31-d8a9dca3dc8d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.0108402} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac53f550-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling 200 17ms","method":"POST","requestID":"ac53f550-24c7-11ef-b353-d1d4e8136596","responseTime":17,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c419c3c1-04ee-491c-a7a6-484214a4c711","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/81151c15-50d8-4127-b241-a04b1f09548a"},{"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/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 20ms","method":"GET","requestID":"1b0c3c24449b04e855eaa6ed9bb30fc0","responseTime":20,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"1b0c3c24449b04e855eaa6ed9bb30fc0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"1b0c3c24449b04e855eaa6ed9bb30fc0","responseTime":9,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"c419c3c1-04ee-491c-a7a6-484214a4c711","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c419c3c1-04ee-491c-a7a6-484214a4c711","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/c419c3c1-04ee-491c-a7a6-484214a4c711' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c419c3c1-04ee-491c-a7a6-484214a4c711","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"efb69c30a76d727dbe645eedbf0ee146","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/81151c15-50d8-4127-b241-a04b1f09548a"},{"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/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.344224,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc419c3c1-04ee-491c-a7a6-484214a4c711","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b757e625-5dd2-4e3f-8579-a6f524215beb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.39571} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711","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":"ac8eb460-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711 200 59ms","method":"GET","requestID":"ac8eb460-24c7-11ef-b353-d1d4e8136596","responseTime":59,"status":200,"url":"/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 76ms","method":"POST","requestID":"efb69c30a76d727dbe645eedbf0ee146","responseTime":76,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch","requestID":"efb69c30a76d727dbe645eedbf0ee146"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.139396,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c9ca593-04c1-42ab-b89a-dde8b1f03ce2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.4671671} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac993bb0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling 200 22ms","method":"POST","requestID":"ac993bb0-24c7-11ef-b353-d1d4e8136596","responseTime":22,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.374677,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1fa9475-7222-4c95-9611-9b035a37d619","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.5145664} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aca0b5c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling 200 16ms","method":"POST","requestID":"aca0b5c0-24c7-11ef-b353-d1d4e8136596","responseTime":16,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0OH0.tGk-ApBj0hEbrSyBA4Wpq4JgLZmrG9ugv5LFxOWreWg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a6fabe1d7c801abb4bd553d52fd448cf","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.998334,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762548,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0OH0.tGk-ApBj0hEbrSyBA4Wpq4JgLZmrG9ugv5LFxOWreWg"} 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":"a6fabe1d7c801abb4bd553d52fd448cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"07/Jun/2024:12:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6fabe1d7c801abb4bd553d52fd448cf"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"} experiment-1 | {"level":"info","message":"GET /experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d 200 15ms","method":"GET","requestID":"a6fabe1d7c801abb4bd553d52fd448cf","responseTime":15,"status":200,"url":"/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0OH0.tGk-ApBj0hEbrSyBA4Wpq4JgLZmrG9ugv5LFxOWreWg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0c7e780039c4c683afdf7510e6732535","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.798206,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762548,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0OH0.tGk-ApBj0hEbrSyBA4Wpq4JgLZmrG9ugv5LFxOWreWg"} 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":"0c7e780039c4c683afdf7510e6732535"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.863901,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762548,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0OH0.tGk-ApBj0hEbrSyBA4Wpq4JgLZmrG9ugv5LFxOWreWg"} 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":"acb5eb70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc419c3c1-04ee-491c-a7a6-484214a4c711': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc419c3c1-04ee-491c-a7a6-484214a4c711","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"8ff8ce0f-6a25-4416-9370-bdd858e2701a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.6870227} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c419c3c1-04ee-491c-a7a6-484214a4c711","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dc95680b86da4f78e213d11bc7506940","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"24c7637f668edef3ccdbeba065aec0bd","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/81151c15-50d8-4127-b241-a04b1f09548a"},{"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/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711"}}},"level":"info","message":"received a callback"} 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/81151c15-50d8-4127-b241-a04b1f09548a"},{"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/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711"}}},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9e54be7-5949-4e6e-bfe3-ebc40c1da43e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.7131054} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","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":"acb5eb70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":44}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711 204 133ms","method":"DELETE","requestID":"acb5eb70-24c7-11ef-b353-d1d4e8136596","responseTime":133,"status":204,"url":"/peerconnections/c419c3c1-04ee-491c-a7a6-484214a4c711"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.932687,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81151c15-50d8-4127-b241-a04b1f09548a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe751baa-3aa3-4fac-8273-a12d3ae56d97","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.8908498} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acd5f690-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3b8d435-e6a9-4d8f-aa19-9004ce778c4d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd3b8d435-e6a9-4d8f-aa19-9004ce778c4d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"59e9ad60-309b-4347-a5a0-418533068548","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.9098036} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b9f7550-de3c-4a85-88bf-ca0a584f9f67","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.9113128} authorization-1 | {"level":"info","message":"POST /relations/update 200 61ms","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":"0c7e780039c4c683afdf7510e6732535"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":61}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling 200 93ms","method":"POST","requestID":"acd5f690-24c7-11ef-b353-d1d4e8136596","responseTime":93,"status":200,"url":"/devices/81151c15-50d8-4127-b241-a04b1f09548a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.543094,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"311a2fca-81f6-4d7c-bd36-7ed6a6b90079","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762548.962666} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ace47580-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling 200 36ms","method":"POST","requestID":"ace47580-24c7-11ef-b353-d1d4e8136596","responseTime":36,"status":200,"url":"/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"} gateway-1 | {"time_local":"07/Jun/2024:12:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.495","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c7e780039c4c683afdf7510e6732535"} experiment-1 | {"level":"info","message":"DELETE /experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d 204 493ms","method":"DELETE","requestID":"0c7e780039c4c683afdf7510e6732535","responseTime":493,"status":204,"url":"/experiments/d3b8d435-e6a9-4d8f-aa19-9004ce778c4d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0OX0.RI0e4PmCy_XtwHEoOEWHYdyNhHpMFO7wjl294_IYNgE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9c11968fabf454617527f2fd137d09c6","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 419ms","method":"POST","requestID":"dc95680b86da4f78e213d11bc7506940","responseTime":419,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 417ms","method":"POST","requestID":"24c7637f668edef3ccdbeba065aec0bd","responseTime":417,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.447","http_referrer":"","http_user_agent":"node-fetch","requestID":"dc95680b86da4f78e213d11bc7506940"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.428","http_referrer":"","http_user_agent":"node-fetch","requestID":"24c7637f668edef3ccdbeba065aec0bd"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:49Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.96357,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762549,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0OX0.RI0e4PmCy_XtwHEoOEWHYdyNhHpMFO7wjl294_IYNgE"} 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":"9c11968fabf454617527f2fd137d09c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"07/Jun/2024:12:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"2.337","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"12b46c5f22ae07d0d18785b4e572d0ec"} gateway-1 | {"time_local":"07/Jun/2024:12:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"2.402","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a766d4ccba762cf111fb0e75dca3f63c"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/81151c15-50d8-4127-b241-a04b1f09548a' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0b8d65b8-cd2d-45b7-b896-3ba2e1782e83' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"284200b1-326b-4825-980e-8702e4d40b7d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.2155964} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c11968fabf454617527f2fd137d09c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":32}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed77828f-fe0b-44b0-8b48-5ac07f4c06c4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.2513216} 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":"9c11968fabf454617527f2fd137d09c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"175cebdb-4a34-49f8-a8c1-54898b0a2d3e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.2791176} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a778656-0111-468b-a062-3ae91cef2d04","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.2797217} authorization-1 | {"level":"info","message":"POST /relations/update 200 67ms","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":"9c11968fabf454617527f2fd137d09c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":67}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.279085605Z"}]},"request_id":"df1b6d4c-2821-4e7f-b4f8-652c6fdfcf09","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.3284328} 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":"9c11968fabf454617527f2fd137d09c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 195ms","method":"POST","requestID":"9c11968fabf454617527f2fd137d09c6","responseTime":195,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.211","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c11968fabf454617527f2fd137d09c6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0OX0.RI0e4PmCy_XtwHEoOEWHYdyNhHpMFO7wjl294_IYNgE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"cd276cd06ea1f5c8725b013c7f5893c6","responseTime":30,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:49Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.939391,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762549,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU0OX0.RI0e4PmCy_XtwHEoOEWHYdyNhHpMFO7wjl294_IYNgE"} 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":"cd276cd06ea1f5c8725b013c7f5893c6"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d0a7ea03-b6ad-484c-81d4-e24e135498f4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.4419928} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd276cd06ea1f5c8725b013c7f5893c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"498475c1-9000-4bd0-a355-c037a23fd014","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.4528599} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd276cd06ea1f5c8725b013c7f5893c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"619f8589-009b-4fb8-8376-ec9d1bb36f4d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.4953382} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e1dc5c5-b249-4c6a-b5b9-f010702a8aac","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.4965818} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","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":"cd276cd06ea1f5c8725b013c7f5893c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":48}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.495305683Z"}]},"request_id":"75534044-b752-44ec-bfa5-e2b6395ff00f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762549.5045269} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd276cd06ea1f5c8725b013c7f5893c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd276cd06ea1f5c8725b013c7f5893c6"} device-1 | {"level":"info","message":"POST /devices? 201 140ms","method":"POST","requestID":"cd276cd06ea1f5c8725b013c7f5893c6","responseTime":140,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1MX0.mq-Rp9c_nL7Ad2JPI4Ve-z3flN7nnp0leeNhmtBfz6c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a06f247b81180e622683dab48f69e139","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935008,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762551,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1MX0.mq-Rp9c_nL7Ad2JPI4Ve-z3flN7nnp0leeNhmtBfz6c"} 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":"a06f247b81180e622683dab48f69e139"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.495305683Z"}]},"request_id":"c7f5823a-e598-42a4-b383-3a7783b78c19","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762551.3694286} 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":"a06f247b81180e622683dab48f69e139"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"253daaff-d30f-4ad7-b217-6608aac72d79","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762551.4089165} 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":"a06f247b81180e622683dab48f69e139"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.495305683Z"}]},"request_id":"e0dfcbc3-686a-4e75-bdac-3c0241c738db","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762551.4667504} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a06f247b81180e622683dab48f69e139"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.121","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a06f247b81180e622683dab48f69e139"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0 200 115ms","method":"PATCH","requestID":"a06f247b81180e622683dab48f69e139","responseTime":115,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1MX0.mq-Rp9c_nL7Ad2JPI4Ve-z3flN7nnp0leeNhmtBfz6c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"d068f9a3251fbcadd93f678f1978b122","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:51Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799423,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762551,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1MX0.mq-Rp9c_nL7Ad2JPI4Ve-z3flN7nnp0leeNhmtBfz6c"} 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":"d068f9a3251fbcadd93f678f1978b122"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.110","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d068f9a3251fbcadd93f678f1978b122"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/websocket 200 98ms","method":"POST","requestID":"d068f9a3251fbcadd93f678f1978b122","responseTime":98,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b82de156430ce03208e48d02a4e7a662","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/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":"b82de156430ce03208e48d02a4e7a662"} device-1 | {"level":"info","message":"OPTIONS /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/websocket 200 1ms","method":"OPTIONS","requestID":"b82de156430ce03208e48d02a4e7a662","responseTime":1,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f51996865ae9e1ed8e5b3164e6cee887","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863871,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:52Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762552,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY"} 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":"f51996865ae9e1ed8e5b3164e6cee887"},"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/1812cf90-17bd-4cd0-bb55-1a5db129926c/websocket 200 48ms","method":"POST","requestID":"f51996865ae9e1ed8e5b3164e6cee887","responseTime":48,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:15:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f51996865ae9e1ed8e5b3164e6cee887"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a105f872adb580aa5c329ab6c9cdbfdc","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967214,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762552,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY"} 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":"a105f872adb580aa5c329ab6c9cdbfdc"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.279085605Z"}]},"request_id":"74ac4181-a744-463e-9c26-9fe5e7c1a04e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762552.520811} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c? 200 41ms","method":"GET","requestID":"a105f872adb580aa5c329ab6c9cdbfdc","responseTime":41,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a105f872adb580aa5c329ab6c9cdbfdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} gateway-1 | {"time_local":"07/Jun/2024:12:15:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a105f872adb580aa5c329ab6c9cdbfdc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9b96f076aef6d4fdac3bd270c07885bd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.818075,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762552,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b96f076aef6d4fdac3bd270c07885bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":39}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.495305683Z"}]},"request_id":"c23f1ebf-777a-404d-a49b-6fcfe8396caf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762552.5793076} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0? 200 51ms","method":"GET","requestID":"9b96f076aef6d4fdac3bd270c07885bd","responseTime":51,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b96f076aef6d4fdac3bd270c07885bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:15:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b96f076aef6d4fdac3bd270c07885bd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9ec9856ffc344f5936efcc8e3f0acccb","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:40588","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":25.098545,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762552,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","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":"9ec9856ffc344f5936efcc8e3f0acccb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"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:40588","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.979142,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762552,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY"} 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":"af2a94f0-24c7-11ef-b353-d1d4e8136596"},"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/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762552,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af2ae310-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.279085605Z"}]},"request_id":"69b4fb7e-4c8e-4547-859d-dede3e119e77","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762552.8084705} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c? 200 63ms","method":"GET","requestID":"af2a94f0-24c7-11ef-b353-d1d4e8136596","responseTime":63,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af2a94f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":43}} authorization-1 | {"client_addr":"127.0.0.1:55750","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"client_addr":"127.0.0.1:55750","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.079246,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:52Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.495305683Z"}]},"request_id":"6cfb7a1e-eb53-42fc-bed9-94104c649eb7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762552.8582292} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af2ae310-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Attempting to lock booking for experiment"} device-1 | {"level":"info","message":"GET /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0? 200 104ms","method":"GET","requestID":"af2ae310-24c7-11ef-b353-d1d4e8136596","responseTime":104,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953472,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55750","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55750","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.056318,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762552,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY"} 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":"af580d90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762552,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Successfully running experiment"} 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":"af5882c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 144ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af58d0e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.495305683Z"}]},"request_id":"24970ac9-c452-4788-93bd-717b158dc98c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.2038534} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de09a40d-e3c0-40e8-92f7-b0eddcb90747","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.2434304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.279085605Z"}]},"request_id":"e86681ec-3a9c-44f5-bd5b-2fe8d8c2d68a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.2473288} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling 200 187ms","method":"POST","requestID":"af58d0e0-24c7-11ef-b353-d1d4e8136596","responseTime":187,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 87ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af5882c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":87}} authorization-1 | {"client_addr":"127.0.0.1:55764","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55764","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.86475,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af580d90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":45}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0? 200 228ms","method":"GET","requestID":"af5882c0-24c7-11ef-b353-d1d4e8136596","responseTime":228,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c? 200 239ms","method":"GET","requestID":"af580d90-24c7-11ef-b353-d1d4e8136596","responseTime":239,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb3ed5c36-53c1-4f62-aad8-478768dde859#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb3ed5c36-53c1-4f62-aad8-478768dde859","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"a82e2b10-f47e-4128-a1d8-0bbec9c22382","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.2973485} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"935cbafc-b181-4bf6-8d47-5b36f561d346","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.29799} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24377dc7-ab43-45f8-83ec-6b7ce2e21da9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.342988} 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":"9ec9856ffc344f5936efcc8e3f0acccb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":152}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.649639,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55750","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af7643f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09f30e2b-a455-4a8b-a6ed-316c945654aa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.3890305} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling 200 125ms","method":"POST","requestID":"af7643f0-24c7-11ef-b353-d1d4e8136596","responseTime":125,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55750","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":39.470483,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling 200 62ms","method":"POST","requestID":"af818e90-24c7-11ef-b353-d1d4e8136596","responseTime":62,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af818e90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":43}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 810ms","method":"POST","requestID":"9ec9856ffc344f5936efcc8e3f0acccb","responseTime":810,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.817","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ec9856ffc344f5936efcc8e3f0acccb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1M30.PeY96ed7JWR8lC7_-2jb5NEwVRS1FhjQuWPS8IMyK1E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f8f7a15bdc08659717d65b1e56380a06","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"00ef5725-0424-49c0-9117-53dcf40064d5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.441484} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.391419,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af903490-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905474,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762553,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1M30.PeY96ed7JWR8lC7_-2jb5NEwVRS1FhjQuWPS8IMyK1E"} 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":"f8f7a15bdc08659717d65b1e56380a06"},"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/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling 200 20ms","method":"POST","requestID":"af903490-24c7-11ef-b353-d1d4e8136596","responseTime":20,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"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":"9088fd61-454d-4a35-bd81-0d962bc8ce88"},{"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":"b8ec8e0b-c081-4b8e-a4fb-759e20df657e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"fdf86cf7-0c3a-43a1-8107-02be72f3df20"}]},"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/1812cf90-17bd-4cd0-bb55-1a5db129926c"},{"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/5b8b9571-03b6-4b5f-a6db-6574899174a0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.279085605Z"}]},"request_id":"e01a456a-5035-45a4-82d0-9d2e6b2192d9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.4578001} 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":"f8f7a15bdc08659717d65b1e56380a06"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.034475,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762552,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Mn0.l8wgu786TI58Txb8celimT7LfBbgDL4cAhoiv0MTIaY"} 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":"af976080-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"GET /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c? 200 52ms","method":"GET","requestID":"f8f7a15bdc08659717d65b1e56380a06","responseTime":52,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8f7a15bdc08659717d65b1e56380a06"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1M30.PeY96ed7JWR8lC7_-2jb5NEwVRS1FhjQuWPS8IMyK1E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 14ms","method":"GET","requestID":"85ab57a2d2bd4f212da435b7c846c212","responseTime":14,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"77c24ce7-237f-449d-95c1-d73ec5b1d4d9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.5305843} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0defe418-f0c5-48c5-a127-a466b0fc3833","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.532272} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"af976080-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":40}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017962,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762553,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1M30.PeY96ed7JWR8lC7_-2jb5NEwVRS1FhjQuWPS8IMyK1E"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85ab57a2d2bd4f212da435b7c846c212"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:49.495305683Z"}]},"request_id":"1059cc93-423e-4819-9282-e1d413fcaa18","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.5775506} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85ab57a2d2bd4f212da435b7c846c212"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":32}} 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/c4a28f5b-e194-4a1a-ad23-70d2d6e36577'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577'"} 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 164ms","method":"POST","requestID":"af976080-24c7-11ef-b353-d1d4e8136596","responseTime":164,"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":"07/Jun/2024:12:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"85ab57a2d2bd4f212da435b7c846c212"} device-1 | {"level":"info","message":"GET /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0? 200 143ms","method":"GET","requestID":"85ab57a2d2bd4f212da435b7c846c212","responseTime":143,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94a59684-8b97-49d6-9310-4a2576192537","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.9145567} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.258702,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"afd4deb0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling 200 38ms","method":"POST","requestID":"afd4deb0-24c7-11ef-b353-d1d4e8136596","responseTime":38,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd9339a7-8928-4197-bbcf-7b131203ec52","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762553.930518} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.191613,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"afdb2040-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling 200 39ms","method":"POST","requestID":"afdb2040-24c7-11ef-b353-d1d4e8136596","responseTime":39,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling"} device-1 | {"data":{"peerconnection":"c4a28f5b-e194-4a1a-ad23-70d2d6e36577","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/c4a28f5b-e194-4a1a-ad23-70d2d6e36577' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4a28f5b-e194-4a1a-ad23-70d2d6e36577","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5554fcf6815d9548f0fe204f9f2a5f58","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":"new","url":"http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c"},{"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/5b8b9571-03b6-4b5f-a6db-6574899174a0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"5554fcf6815d9548f0fe204f9f2a5f58"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"5554fcf6815d9548f0fe204f9f2a5f58","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c'"} device-1 | {"data":{"peerconnection":"c4a28f5b-e194-4a1a-ad23-70d2d6e36577","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c4a28f5b-e194-4a1a-ad23-70d2d6e36577","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"20763d8ae93d5ff16ee4fb77ca550fda","responseTime":7,"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/1812cf90-17bd-4cd0-bb55-1a5db129926c"},{"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/5b8b9571-03b6-4b5f-a6db-6574899174a0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4a28f5b-e194-4a1a-ad23-70d2d6e36577","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Nn0.zY4eZzxgNb-mOKXOp578OEiX4y3H7sGTM1MWgbCQCNo","level":"info","message":"auth send jwt"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4a28f5b-e194-4a1a-ad23-70d2d6e36577","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed32fc0e-97a6-4ccd-ad4c-4569709cdfab","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.0859122} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":27.340387,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577","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 34ms","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":"b11f8720-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577 200 44ms","method":"GET","requestID":"b11f8720-24c7-11ef-b353-d1d4e8136596","responseTime":44,"status":200,"url":"/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.953349,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762556,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Nn0.zY4eZzxgNb-mOKXOp578OEiX4y3H7sGTM1MWgbCQCNo"} 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":"75dcee95f97cd324272487aa137839a4"},"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/b3ed5c36-53c1-4f62-aad8-478768dde859"} experiment-1 | {"level":"info","message":"GET /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859 200 55ms","method":"GET","requestID":"75dcee95f97cd324272487aa137839a4","responseTime":55,"status":200,"url":"/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"75dcee95f97cd324272487aa137839a4","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75dcee95f97cd324272487aa137839a4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"20763d8ae93d5ff16ee4fb77ca550fda","responseTime":138,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"20763d8ae93d5ff16ee4fb77ca550fda"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0ec12b1-7d63-4055-ab1a-5c4816354e6a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.2091067} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":31.1487,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b13299f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling 200 60ms","method":"POST","requestID":"b13299f0-24c7-11ef-b353-d1d4e8136596","responseTime":60,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"763da345-af93-41e6-b3fc-2e19e84fefe9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.271686} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.226546,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Nn0.zY4eZzxgNb-mOKXOp578OEiX4y3H7sGTM1MWgbCQCNo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1eccd65e34bcbca3f207086497dd1542","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b13c36e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.841683,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762556,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Nn0.zY4eZzxgNb-mOKXOp578OEiX4y3H7sGTM1MWgbCQCNo"} 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":"1eccd65e34bcbca3f207086497dd1542"},"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/b3ed5c36-53c1-4f62-aad8-478768dde859"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling 200 54ms","method":"POST","requestID":"b13c36e0-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling"} gateway-1 | {"time_local":"07/Jun/2024:12:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1eccd65e34bcbca3f207086497dd1542"} experiment-1 | {"level":"info","message":"GET /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859 200 58ms","method":"GET","requestID":"1eccd65e34bcbca3f207086497dd1542","responseTime":58,"status":200,"url":"/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Nn0.zY4eZzxgNb-mOKXOp578OEiX4y3H7sGTM1MWgbCQCNo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"72ba6660d6233f83075b4d19f8e1c503","responseTime":10,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.824394,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762556,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Nn0.zY4eZzxgNb-mOKXOp578OEiX4y3H7sGTM1MWgbCQCNo"} 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":"72ba6660d6233f83075b4d19f8e1c503"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":3.397431,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762556,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Nn0.zY4eZzxgNb-mOKXOp578OEiX4y3H7sGTM1MWgbCQCNo"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","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":"b14e3840-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4a28f5b-e194-4a1a-ad23-70d2d6e36577","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4a28f5b-e194-4a1a-ad23-70d2d6e36577': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4a28f5b-e194-4a1a-ad23-70d2d6e36577","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"2573f574-d22a-4136-9ce8-86face305baa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.4526005} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fefad8b376412ea0fdd48829e7ad143f","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"09507051b72440456cdfa0d58213e9dc","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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"193c45b3-512f-42b4-9730-204ee6a5f74f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.4532719} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","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":"b14e3840-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":49}} 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/1812cf90-17bd-4cd0-bb55-1a5db129926c"},{"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/5b8b9571-03b6-4b5f-a6db-6574899174a0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c"},{"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/5b8b9571-03b6-4b5f-a6db-6574899174a0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"c4a28f5b-e194-4a1a-ad23-70d2d6e36577","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/c4a28f5b-e194-4a1a-ad23-70d2d6e36577 204 174ms","method":"DELETE","requestID":"b14e3840-24c7-11ef-b353-d1d4e8136596","responseTime":174,"status":204,"url":"/peerconnections/c4a28f5b-e194-4a1a-ad23-70d2d6e36577"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.303931,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1812cf90-17bd-4cd0-bb55-1a5db129926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fe7f3bd-965c-48a0-af98-84ec50fa177b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.5977287} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1723b00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling 200 49ms","method":"POST","requestID":"b1723b00-24c7-11ef-b353-d1d4e8136596","responseTime":49,"status":200,"url":"/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb3ed5c36-53c1-4f62-aad8-478768dde859': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb3ed5c36-53c1-4f62-aad8-478768dde859","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"0e2fddcf-0d26-4737-b68e-59bd330ec4a2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.626941} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4291913e-bc15-489a-a7b9-a359fac343a0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.6278002} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 60ms","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":"72ba6660d6233f83075b4d19f8e1c503"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":60}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8b9571-03b6-4b5f-a6db-6574899174a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"774ae422-7b6c-465e-8bcd-4b096eb05e47","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.652687} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.072552,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b17a2a40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling 200 42ms","method":"POST","requestID":"b17a2a40-24c7-11ef-b353-d1d4e8136596","responseTime":42,"status":200,"url":"/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"} gateway-1 | {"time_local":"07/Jun/2024:12:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.488","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"72ba6660d6233f83075b4d19f8e1c503"} experiment-1 | {"level":"info","message":"DELETE /experiments/b3ed5c36-53c1-4f62-aad8-478768dde859 204 483ms","method":"DELETE","requestID":"72ba6660d6233f83075b4d19f8e1c503","responseTime":483,"status":204,"url":"/experiments/b3ed5c36-53c1-4f62-aad8-478768dde859"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Nn0.zY4eZzxgNb-mOKXOp578OEiX4y3H7sGTM1MWgbCQCNo","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"level":"info","message":"GET /auth 200 14ms","method":"GET","requestID":"543859fc986253074b6bcb140f885488","responseTime":14,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2799","request_time":"5.241","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"85667455190210a1225ed8c502e6b7b4"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.998035,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762556,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1Nn0.zY4eZzxgNb-mOKXOp578OEiX4y3H7sGTM1MWgbCQCNo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"543859fc986253074b6bcb140f885488"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.414","http_referrer":"","http_user_agent":"node-fetch","requestID":"09507051b72440456cdfa0d58213e9dc"} gateway-1 | {"time_local":"07/Jun/2024:12:15: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.415","http_referrer":"","http_user_agent":"node-fetch","requestID":"fefad8b376412ea0fdd48829e7ad143f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 377ms","method":"POST","requestID":"fefad8b376412ea0fdd48829e7ad143f","responseTime":381,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 382ms","method":"POST","requestID":"09507051b72440456cdfa0d58213e9dc","responseTime":382,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"4.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":"e3d3b2488aa7e2525ae0d0f6a911acc7"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ba83c6c7-7b26-4d22-8d3d-0939151b5ef5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.9164603} 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":"543859fc986253074b6bcb140f885488"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5b8b9571-03b6-4b5f-a6db-6574899174a0' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"596bb9c7-7308-430c-962f-3247089da800","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762556.9646242} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"543859fc986253074b6bcb140f885488"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1812cf90-17bd-4cd0-bb55-1a5db129926c' closed"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"9f14464c-2ff6-4c37-bb73-df83a8ac49db","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762557.0166311} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d150cf53-cae4-46a2-a962-e91099daa566","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762557.0171604} authorization-1 | {"level":"info","message":"POST /relations/update 200 58ms","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":"543859fc986253074b6bcb140f885488"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":58}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.016595398Z"}]},"request_id":"084a00f0-8a1e-440b-9d64-0c5ec9d03243","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762557.0245001} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"543859fc986253074b6bcb140f885488"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"543859fc986253074b6bcb140f885488"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"POST /devices? 201 224ms","method":"POST","requestID":"543859fc986253074b6bcb140f885488","responseTime":224,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1N30.ds8ALM0EqzJxnQw2Ko2_VLpgYeaIAaaW3gLfo-_ljUI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d00f04bf810652fedee0a5dbef340778","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.925528,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762557,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1N30.ds8ALM0EqzJxnQw2Ko2_VLpgYeaIAaaW3gLfo-_ljUI"} 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":"d00f04bf810652fedee0a5dbef340778"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"78461078-f4cc-486f-b52b-2818c6355999","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762557.1643739} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d00f04bf810652fedee0a5dbef340778"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0dfa4da5-7a2f-4e2d-a52c-3f850ca8d230","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762557.2088258} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d00f04bf810652fedee0a5dbef340778"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":37}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"e0ff8309-3245-41e3-907e-d2d48730458c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762557.2305307} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45ab9d50-92c7-49c6-8a80-266e3619b3ef","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762557.2318246} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"d00f04bf810652fedee0a5dbef340778"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.230497291Z"}]},"request_id":"e55385d1-cc28-4e01-b970-c2a3c0646b6c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762557.2680135} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d00f04bf810652fedee0a5dbef340778"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 218ms","method":"POST","requestID":"d00f04bf810652fedee0a5dbef340778","responseTime":218,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d00f04bf810652fedee0a5dbef340778"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1OX0.OpmOyWkMBw9zlCtBIscBpkk7X5D2tANbT9lXdyf1kqE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 35ms","method":"GET","requestID":"ef0843d4b22c7e76ace21be1ac497867","responseTime":35,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922542,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762559,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1OX0.OpmOyWkMBw9zlCtBIscBpkk7X5D2tANbT9lXdyf1kqE"} 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":"ef0843d4b22c7e76ace21be1ac497867"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.230497291Z"}]},"request_id":"d78980fa-fbe4-448f-8f32-b07c8494140c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762559.211311} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef0843d4b22c7e76ace21be1ac497867"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0faad0ac-d950-41d5-b142-bd8c85a852fa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762559.2337406} 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":"ef0843d4b22c7e76ace21be1ac497867"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.230497291Z"}]},"request_id":"6e4fb0f0-dcb6-4247-9690-890f46b59f87","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762559.397512} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef0843d4b22c7e76ace21be1ac497867"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:15:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.352","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ef0843d4b22c7e76ace21be1ac497867"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1OX0.OpmOyWkMBw9zlCtBIscBpkk7X5D2tANbT9lXdyf1kqE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5edf1aab8044a3323c9936e4227cf6c2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"PATCH /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738 200 322ms","method":"PATCH","requestID":"ef0843d4b22c7e76ace21be1ac497867","responseTime":322,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:15:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.853159,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:15:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762559,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU1OX0.OpmOyWkMBw9zlCtBIscBpkk7X5D2tANbT9lXdyf1kqE"} 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":"5edf1aab8044a3323c9936e4227cf6c2"},"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/47999d3c-10a3-42a8-935b-c2e85e4b8738/websocket 200 97ms","method":"POST","requestID":"5edf1aab8044a3323c9936e4227cf6c2","responseTime":97,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:15:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.103","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5edf1aab8044a3323c9936e4227cf6c2"} device-1 | {"level":"info","message":"device 'http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"25af5a6c5de701ddf5b130cb9a764dc8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/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":"25af5a6c5de701ddf5b130cb9a764dc8"} device-1 | {"level":"info","message":"OPTIONS /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/websocket 200 21ms","method":"OPTIONS","requestID":"25af5a6c5de701ddf5b130cb9a764dc8","responseTime":21,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938555,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:00Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"b8adfec443e9f7532726f802308a15e3","responseTime":7,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762560,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk"} 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":"b8adfec443e9f7532726f802308a15e3"},"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/1cbcdc21-d95f-4272-a71d-8edb0a66f262/websocket 200 55ms","method":"POST","requestID":"b8adfec443e9f7532726f802308a15e3","responseTime":55,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.065","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b8adfec443e9f7532726f802308a15e3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262' connected"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"78ccd6b7d6c264aef88eaf98099a878c","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.000161,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762560,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk"} 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":"78ccd6b7d6c264aef88eaf98099a878c"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.016595398Z"}]},"request_id":"e3aa7fad-899f-4f76-91d1-ed8a7573b964","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.3813674} authorization-1 | {"level":"info","message":"POST /relations/query 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78ccd6b7d6c264aef88eaf98099a878c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78ccd6b7d6c264aef88eaf98099a878c"} device-1 | {"level":"info","message":"GET /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262? 200 53ms","method":"GET","requestID":"78ccd6b7d6c264aef88eaf98099a878c","responseTime":53,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7a83668d2b9e093b0b87d65ec70de637","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947188,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762560,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk"} 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":"7a83668d2b9e093b0b87d65ec70de637"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.230497291Z"}]},"request_id":"ba8532ca-4290-4c14-b1f7-d29054323842","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.436408} 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":"7a83668d2b9e093b0b87d65ec70de637"},"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":"07/Jun/2024:12:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a83668d2b9e093b0b87d65ec70de637"} device-1 | {"level":"info","message":"GET /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738? 200 47ms","method":"GET","requestID":"7a83668d2b9e093b0b87d65ec70de637","responseTime":47,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1399a3702d7ad6ad68496837073e7bea","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:40588","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.963833,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762560,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk"} 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":"1399a3702d7ad6ad68496837073e7bea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"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:40588","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9505,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:55776","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:55776","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.994928,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762560,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk"} 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":"b3dc0f10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762560,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3dc5d30-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.016595398Z"}]},"request_id":"8516e525-1dce-41a8-b83a-7d96f13ec7ad","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.696549} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.230497291Z"}]},"request_id":"d8f46df9-111e-4c41-a67f-01d6506af7ac","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.6967742} 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":"b3dc5d30-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3dc0f10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":36}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738? 200 62ms","method":"GET","requestID":"b3dc5d30-24c7-11ef-b353-d1d4e8136596","responseTime":62,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Attempting to lock booking for experiment"} device-1 | {"level":"info","message":"GET /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262? 200 75ms","method":"GET","requestID":"b3dc0f10-24c7-11ef-b353-d1d4e8136596","responseTime":75,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.942497,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:55776","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:55776","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890113,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762560,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Successfully running experiment"} 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":"b3fdeef0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762560,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk"} authorization-1 | {"level":"info","message":"POST /authorize 200 77ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3fe3d10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":77}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":31.34654,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee790208-8f7e-44bd-8e90-f5f5526a808b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.9185107} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3ff4e80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":43}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.016595398Z"}]},"request_id":"31ace1f8-3682-4887-a92c-9117059e5260","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.9574435} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3fdeef0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.230497291Z"}]},"request_id":"c884c8cb-5f19-40be-9a00-b481daa72e81","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.975027} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3fe3d10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling 200 108ms","method":"POST","requestID":"b3ff4e80-24c7-11ef-b353-d1d4e8136596","responseTime":108,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262? 200 119ms","method":"GET","requestID":"b3fdeef0-24c7-11ef-b353-d1d4e8136596","responseTime":119,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738? 200 129ms","method":"GET","requestID":"b3fe3d10-24c7-11ef-b353-d1d4e8136596","responseTime":129,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F435e7ce8-af63-492e-baac-8f66460fd0d7#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F435e7ce8-af63-492e-baac-8f66460fd0d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"1ba7d010-d995-4e44-aef1-a6bef95bfe3e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.9924757} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11086e2f-75c6-407b-967b-2d1c450e2a1b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.9939685} authorization-1 | {"level":"info","message":"POST /relations/update 200 52ms","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":"1399a3702d7ad6ad68496837073e7bea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":52}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8c27ebb-e477-4dcc-8253-ec3bbdeeb908","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762560.999695} experiment-1 | {"data":{"experiment":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 559ms","method":"POST","requestID":"1399a3702d7ad6ad68496837073e7bea","responseTime":559,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.189964,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:55776","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:55776","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.020096,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4106580-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"906baf97-bbb8-491a-af7d-1e0562d67487","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762561.0082157} gateway-1 | {"time_local":"07/Jun/2024:12:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.568","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1399a3702d7ad6ad68496837073e7bea"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MX0.IDOA0qB5AuYDyFyk7hM0FP3_Eqv7RInk0Kb5PDn17jU","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4121330-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4a792108c099c21de5db53eff25a7160","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling 200 45ms","method":"POST","requestID":"b4106580-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925156,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:01Z"} device-1 | {"level":"info","message":"POST /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling 200 37ms","method":"POST","requestID":"b4121330-24c7-11ef-b353-d1d4e8136596","responseTime":37,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762561,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MX0.IDOA0qB5AuYDyFyk7hM0FP3_Eqv7RInk0Kb5PDn17jU"} 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":"4a792108c099c21de5db53eff25a7160"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":31.755691,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1946b969-99eb-4e76-bae9-561341d2e1d7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762561.0691223} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.016595398Z"}]},"request_id":"504f74e6-ad99-4b01-8555-3b76c555da10","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762561.0725417} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b417df90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":39}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a792108c099c21de5db53eff25a7160"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"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":"def5f047-b875-40d6-9554-1982d80456ac"},{"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":"61e2647e-59cb-4adc-8aa6-77e713aa7278"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"213b7ad5-dd1c-42ac-9f10-6d64b1ba07d0"}]},"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/47999d3c-10a3-42a8-935b-c2e85e4b8738"},{"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/1cbcdc21-d95f-4272-a71d-8edb0a66f262"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"POST /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling 200 50ms","method":"POST","requestID":"b417df90-24c7-11ef-b353-d1d4e8136596","responseTime":50,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.926472,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762560,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MH0.MO2JJHil6S9xTdk3mXGxz64kdozn2anwgogi8Z3ybPk"} 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":"b41fced0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262? 200 99ms","method":"GET","requestID":"4a792108c099c21de5db53eff25a7160","responseTime":99,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.109","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a792108c099c21de5db53eff25a7160"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MX0.IDOA0qB5AuYDyFyk7hM0FP3_Eqv7RInk0Kb5PDn17jU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"79ee62058252ba5e8d345a108230f3df","responseTime":7,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"3a7a02d7-0ff2-4aca-bf4e-1538b69bfebd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762561.1391752} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"693e6c10-4bbc-4dfc-9159-09e62e983440","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762561.140146} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"b41fced0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.074521,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762561,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2MX0.IDOA0qB5AuYDyFyk7hM0FP3_Eqv7RInk0Kb5PDn17jU"} 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":"79ee62058252ba5e8d345a108230f3df"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:15:57.230497291Z"}]},"request_id":"59edff01-67b6-42b7-a6d2-667ee1826c89","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762561.19637} 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":"79ee62058252ba5e8d345a108230f3df"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85'"} 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 174ms","method":"POST","requestID":"b41fced0-24c7-11ef-b353-d1d4e8136596","responseTime":174,"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/47999d3c-10a3-42a8-935b-c2e85e4b8738? 200 119ms","method":"GET","requestID":"79ee62058252ba5e8d345a108230f3df","responseTime":119,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79ee62058252ba5e8d345a108230f3df"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68dc8c65-00d1-4a0a-955f-960c17ee39e8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762561.381277} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":9.910185,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b44b2490-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling 200 59ms","method":"POST","requestID":"b44b2490-24c7-11ef-b353-d1d4e8136596","responseTime":59,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abf19e0a-fcef-496d-8177-5fa0e8c6ea19","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762561.4351206} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.172655,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4544c50-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling 200 15ms","method":"POST","requestID":"b4544c50-24c7-11ef-b353-d1d4e8136596","responseTime":15,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling"} device-1 | {"data":{"peerconnection":"ad8a9271-9de4-40f6-8c44-d71fb970af85","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/ad8a9271-9de4-40f6-8c44-d71fb970af85' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ad8a9271-9de4-40f6-8c44-d71fb970af85","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/47999d3c-10a3-42a8-935b-c2e85e4b8738"},{"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/1cbcdc21-d95f-4272-a71d-8edb0a66f262"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"6406de4713b3d2823e5c71a11e189f51","responseTime":7,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch","requestID":"6406de4713b3d2823e5c71a11e189f51"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"6406de4713b3d2823e5c71a11e189f51","responseTime":48,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262'"} device-1 | {"data":{"peerconnection":"ad8a9271-9de4-40f6-8c44-d71fb970af85","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262'"} device-1 | {"data":{"peerconnection":"ad8a9271-9de4-40f6-8c44-d71fb970af85","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/ad8a9271-9de4-40f6-8c44-d71fb970af85' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ad8a9271-9de4-40f6-8c44-d71fb970af85","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"11e5e99e18949bedcbc66357b22ad67e","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/47999d3c-10a3-42a8-935b-c2e85e4b8738"},{"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/1cbcdc21-d95f-4272-a71d-8edb0a66f262"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.850758,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fad8a9271-9de4-40f6-8c44-d71fb970af85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36f295e2-5aca-47e4-b5ba-fe3081a9a68c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762563.5311642} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85","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":"b5944660-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85 200 58ms","method":"GET","requestID":"b5944660-24c7-11ef-b353-d1d4e8136596","responseTime":58,"status":200,"url":"/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85"} gateway-1 | {"time_local":"07/Jun/2024:12:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"11e5e99e18949bedcbc66357b22ad67e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"11e5e99e18949bedcbc66357b22ad67e","responseTime":121,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2M30.Jf68i4HJXWzAcLy_ZDkb0ZAxPO7BAjNYnaSopPSRtRc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"54759831643c2ed8fffa0cb6f1135a9a","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.576183,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a379de92-eb46-46fd-988a-626b4fe20b62","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762563.648712} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5a25020-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.937526,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762563,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2M30.Jf68i4HJXWzAcLy_ZDkb0ZAxPO7BAjNYnaSopPSRtRc"} 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":"54759831643c2ed8fffa0cb6f1135a9a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling 200 61ms","method":"POST","requestID":"b5a25020-24c7-11ef-b353-d1d4e8136596","responseTime":61,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling"} gateway-1 | {"time_local":"07/Jun/2024:12:16:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/435e7ce8-af63-492e-baac-8f66460fd0d7 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54759831643c2ed8fffa0cb6f1135a9a"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2M30.Jf68i4HJXWzAcLy_ZDkb0ZAxPO7BAjNYnaSopPSRtRc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4c1e4e5fe165c54824ce28c1c83636ee","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"GET /experiments/435e7ce8-af63-492e-baac-8f66460fd0d7 200 66ms","method":"GET","requestID":"54759831643c2ed8fffa0cb6f1135a9a","responseTime":66,"status":200,"url":"/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.746019,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f3cd4b3-9db8-47c2-986a-5db9292835e7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762563.7217205} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5b00bc0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling 200 62ms","method":"POST","requestID":"b5b00bc0-24c7-11ef-b353-d1d4e8136596","responseTime":62,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.875354,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762563,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2M30.Jf68i4HJXWzAcLy_ZDkb0ZAxPO7BAjNYnaSopPSRtRc"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","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":"4c1e4e5fe165c54824ce28c1c83636ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":36}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.864269,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762563,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2M30.Jf68i4HJXWzAcLy_ZDkb0ZAxPO7BAjNYnaSopPSRtRc"} 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":"b5bda050-24c7-11ef-b353-d1d4e8136596"},"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/ad8a9271-9de4-40f6-8c44-d71fb970af85' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ad8a9271-9de4-40f6-8c44-d71fb970af85","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"29cc99e8368d2eba154cb728b6bd0853","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/47999d3c-10a3-42a8-935b-c2e85e4b8738"},{"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/1cbcdc21-d95f-4272-a71d-8edb0a66f262"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fad8a9271-9de4-40f6-8c44-d71fb970af85': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fad8a9271-9de4-40f6-8c44-d71fb970af85","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"7da76c25-524e-4211-9935-7fb0c3574350","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762563.854392} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8bc231a52a13e267bd014274dab84c1c","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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3bbbd2f-693e-4e77-880c-00d5c05245ee","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762563.884786} 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/47999d3c-10a3-42a8-935b-c2e85e4b8738"},{"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/1cbcdc21-d95f-4272-a71d-8edb0a66f262"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","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":"b5bda050-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":43}} device-1 | {"data":{"peerconnection":"ad8a9271-9de4-40f6-8c44-d71fb970af85","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/ad8a9271-9de4-40f6-8c44-d71fb970af85 204 172ms","method":"DELETE","requestID":"b5bda050-24c7-11ef-b353-d1d4e8136596","responseTime":172,"status":204,"url":"/peerconnections/ad8a9271-9de4-40f6-8c44-d71fb970af85"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.492638,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:04Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47999d3c-10a3-42a8-935b-c2e85e4b8738","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14da6a36-2505-418f-bda8-643691b29d63","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.019073} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5ddab70-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling 200 25ms","method":"POST","requestID":"b5ddab70-24c7-11ef-b353-d1d4e8136596","responseTime":25,"status":200,"url":"/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:04Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cbcdc21-d95f-4272-a71d-8edb0a66f262","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc8b9eab-5a5d-4f9f-b708-86ba015e5273","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.067726} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.676504,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5e21840-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling 200 41ms","method":"POST","requestID":"b5e21840-24c7-11ef-b353-d1d4e8136596","responseTime":41,"status":200,"url":"/devices/1cbcdc21-d95f-4272-a71d-8edb0a66f262/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F435e7ce8-af63-492e-baac-8f66460fd0d7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F435e7ce8-af63-492e-baac-8f66460fd0d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"2f899a75-e73e-413b-90f5-d247a1abb536","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.079743} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7873b6d6-6294-47bc-ae9a-89c021fe0853","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.0811374} 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":"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":"4c1e4e5fe165c54824ce28c1c83636ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":80}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"} gateway-1 | {"time_local":"07/Jun/2024:12:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/435e7ce8-af63-492e-baac-8f66460fd0d7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.502","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c1e4e5fe165c54824ce28c1c83636ee"} gateway-1 | {"time_local":"07/Jun/2024:12:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"4.705","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3f994d130a72a66bd9f21fc2faf11323"} experiment-1 | {"level":"info","message":"DELETE /experiments/435e7ce8-af63-492e-baac-8f66460fd0d7 204 486ms","method":"DELETE","requestID":"4c1e4e5fe165c54824ce28c1c83636ee","responseTime":486,"status":204,"url":"/experiments/435e7ce8-af63-492e-baac-8f66460fd0d7"} gateway-1 | {"time_local":"07/Jun/2024:12:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.367","http_referrer":"","http_user_agent":"node-fetch","requestID":"29cc99e8368d2eba154cb728b6bd0853"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 362ms","method":"POST","requestID":"29cc99e8368d2eba154cb728b6bd0853","responseTime":362,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 356ms","method":"POST","requestID":"8bc231a52a13e267bd014274dab84c1c","responseTime":356,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.361","http_referrer":"","http_user_agent":"node-fetch","requestID":"8bc231a52a13e267bd014274dab84c1c"} gateway-1 | {"time_local":"07/Jun/2024:12:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"3.999","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7ff4fb0f11e31824f2a94261ddf0cbf0"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/47999d3c-10a3-42a8-935b-c2e85e4b8738' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2NH0.zjdlIb3ifgvGMWlAAIYUJjT-pMPhJC-7MSKJzMIf41o","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.817697,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762564,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2NH0.zjdlIb3ifgvGMWlAAIYUJjT-pMPhJC-7MSKJzMIf41o"} 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":"bb1443301f267a885e73e7aba65c3f4e"},"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/1cbcdc21-d95f-4272-a71d-8edb0a66f262' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 213ms","method":"GET","requestID":"bb1443301f267a885e73e7aba65c3f4e","responseTime":213,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3c9b938c-4d4a-4ba8-983b-ac36ebd13dcc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.4484086} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb1443301f267a885e73e7aba65c3f4e"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80d72eba-2f73-4be4-871a-72c0f0c781e6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.4560323} 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":"bb1443301f267a885e73e7aba65c3f4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"e8cf87ee-ed1f-4dcc-b28b-4c848fbda9b2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.5153894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74a556f8-5471-4e51-a0ef-c7d328d27eba","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.5164695} 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":"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":"bb1443301f267a885e73e7aba65c3f4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":90}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.515343578Z"}]},"request_id":"c080754b-b697-44b3-a212-d90afb1f085c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.55251} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 168ms","method":"POST","requestID":"bb1443301f267a885e73e7aba65c3f4e","responseTime":168,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.345","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb1443301f267a885e73e7aba65c3f4e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb1443301f267a885e73e7aba65c3f4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2NH0.zjdlIb3ifgvGMWlAAIYUJjT-pMPhJC-7MSKJzMIf41o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 41ms","method":"GET","requestID":"4ca7e6af968205f026fc4b0aed5c332e","responseTime":41,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:04Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.932516,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762564,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2NH0.zjdlIb3ifgvGMWlAAIYUJjT-pMPhJC-7MSKJzMIf41o"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ca7e6af968205f026fc4b0aed5c332e"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c94a65db-b4f4-4968-83dc-21580b1db6f4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.676851} 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":"4ca7e6af968205f026fc4b0aed5c332e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32c1af1a-354d-4258-8990-6589dfceb58c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.684484} 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":"4ca7e6af968205f026fc4b0aed5c332e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"8e6960f0-f11e-450d-a1fa-4e24621a6210","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.7361836} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0b0c7d7-2c21-47fc-ad44-f35bfb14aee8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.7365503} authorization-1 | {"level":"info","message":"POST /relations/update 200 50ms","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":"4ca7e6af968205f026fc4b0aed5c332e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":50}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.736148657Z"}]},"request_id":"872a4ddf-9b5a-43dd-bdcf-bef024c6c8f2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762564.7427018} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ca7e6af968205f026fc4b0aed5c332e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ca7e6af968205f026fc4b0aed5c332e"} device-1 | {"level":"info","message":"POST /devices? 201 136ms","method":"POST","requestID":"4ca7e6af968205f026fc4b0aed5c332e","responseTime":136,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2Nn0.W3_WVzilRG--47hxuzGEEZ07sl2Tns1svDPtuX2h_PU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ef49999d19b30a4c76e222684e121af","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96097,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762566,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2Nn0.W3_WVzilRG--47hxuzGEEZ07sl2Tns1svDPtuX2h_PU"} 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":"7ef49999d19b30a4c76e222684e121af"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.515343578Z"}]},"request_id":"7ca3fb48-295d-4458-abf9-3ab2fd076052","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762566.5383368} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ef49999d19b30a4c76e222684e121af"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fcb37875-f96d-430f-bd2f-cb12bcc80638","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762566.5480835} 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":"7ef49999d19b30a4c76e222684e121af"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.107","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7ef49999d19b30a4c76e222684e121af"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.515343578Z"}]},"request_id":"c4585a90-99d2-4d2d-9384-27e6dbf40d56","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762566.5909045} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ef49999d19b30a4c76e222684e121af"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5 200 102ms","method":"PATCH","requestID":"7ef49999d19b30a4c76e222684e121af","responseTime":102,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2Nn0.W3_WVzilRG--47hxuzGEEZ07sl2Tns1svDPtuX2h_PU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"cc2ec63726cbaac30c72dff0df2356bc","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.074267,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762566,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2Nn0.W3_WVzilRG--47hxuzGEEZ07sl2Tns1svDPtuX2h_PU"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc2ec63726cbaac30c72dff0df2356bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/websocket 200 79ms","method":"POST","requestID":"cc2ec63726cbaac30c72dff0df2356bc","responseTime":79,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.086","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cc2ec63726cbaac30c72dff0df2356bc"} device-1 | {"level":"info","message":"device 'http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5' connected"} gateway-1 | {"time_local":"07/Jun/2024:12:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/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":"a58889e93fe69cb6075a9e32e423f8fa"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"OPTIONS /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/websocket 200 1ms","method":"OPTIONS","requestID":"a58889e93fe69cb6075a9e32e423f8fa","responseTime":1,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a58889e93fe69cb6075a9e32e423f8fa","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2N30.KRtcRafga-EQ76UcIx0HZUYsmhy6H8NgcEdhw-djVlw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 40ms","method":"GET","requestID":"919c8402cc57823f3d59a438382a693e","responseTime":40,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93509,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762567,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2N30.KRtcRafga-EQ76UcIx0HZUYsmhy6H8NgcEdhw-djVlw"} 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":"919c8402cc57823f3d59a438382a693e"},"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":"07/Jun/2024:12:16:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.090","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"919c8402cc57823f3d59a438382a693e"} device-1 | {"level":"info","message":"POST /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/websocket 200 63ms","method":"POST","requestID":"919c8402cc57823f3d59a438382a693e","responseTime":63,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b4dfee7b28a9bfcea1db4367c41cff14","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91994,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762568,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4dfee7b28a9bfcea1db4367c41cff14"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.515343578Z"}]},"request_id":"c0293c82-54a8-4243-a3c8-ea44b35ccf2c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.086211} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4dfee7b28a9bfcea1db4367c41cff14"},"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":"07/Jun/2024:12:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4dfee7b28a9bfcea1db4367c41cff14"} device-1 | {"level":"info","message":"GET /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5? 200 87ms","method":"GET","requestID":"b4dfee7b28a9bfcea1db4367c41cff14","responseTime":87,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6bbcd0ab7187c97fc0c5b31fc277004e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830765,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762568,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bbcd0ab7187c97fc0c5b31fc277004e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.736148657Z"}]},"request_id":"57585d47-839c-4fba-8a08-b1ee861e86a1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.1858506} device-1 | {"level":"info","message":"getDevicesByDeviceId 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":"6bbcd0ab7187c97fc0c5b31fc277004e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"GET /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7? 200 80ms","method":"GET","requestID":"6bbcd0ab7187c97fc0c5b31fc277004e","responseTime":80,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6bbcd0ab7187c97fc0c5b31fc277004e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5860e6505e076a59fc2dc477ce102d45","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:40588","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":3.58762,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762568,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 49ms","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":"5860e6505e076a59fc2dc477ce102d45"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":49}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"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:40588","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":6.063356,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762568,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ"} 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":"b8868450-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934271,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762568,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b886d270-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.515343578Z"}]},"request_id":"12d8f67f-b5be-4266-b47a-d1873e1415fa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.5529838} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8868450-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.736148657Z"}]},"request_id":"9a1c55c2-0706-43b2-b5e3-5a879e0c669e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.559721} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b886d270-24c7-11ef-b353-d1d4e8136596"},"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/46ed8e7f-c568-4ced-b857-70c36ee5fea5? 200 99ms","method":"GET","requestID":"b8868450-24c7-11ef-b353-d1d4e8136596","responseTime":99,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7? 200 98ms","method":"GET","requestID":"b886d270-24c7-11ef-b353-d1d4e8136596","responseTime":98,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.992915,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762568,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ"} 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":"b8b7f490-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.973532,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762568,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8b95420-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.515343578Z"}]},"request_id":"db0d6466-f8d5-4460-a5f2-00a721277c7a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.8418849} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5? 200 96ms","method":"GET","requestID":"b8b7f490-24c7-11ef-b353-d1d4e8136596","responseTime":96,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 49ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8b7f490-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":49}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe60067e8-0e3d-43e5-9f17-edbee29f6ed9#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe60067e8-0e3d-43e5-9f17-edbee29f6ed9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"bff881d0-334b-4cb2-95e0-620d35b9db05","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.895346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c74f3100-62d5-423d-9edf-2c069ad22db7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.8966663} 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":"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":"5860e6505e076a59fc2dc477ce102d45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":98}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a35ef55-6055-4ad7-8187-694c9d5d850a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.9050255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.736148657Z"}]},"request_id":"3d8c693f-8983-4b27-b55a-38f0395b0a73","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.908686} gateway-1 | {"time_local":"07/Jun/2024:12:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.685","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5860e6505e076a59fc2dc477ce102d45"} experiment-1 | {"level":"info","message":"POST /experiments? 201 708ms","method":"POST","requestID":"5860e6505e076a59fc2dc477ce102d45","responseTime":708,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7? 200 146ms","method":"GET","requestID":"b8b95420-24c7-11ef-b353-d1d4e8136596","responseTime":146,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 41ms","method":"GET","requestID":"e30f1328b290aab42ad1d9749bcea708","responseTime":41,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8b95420-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":38}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 112ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8ba1770-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":112}} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.727446,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling 200 172ms","method":"POST","requestID":"b8ba1770-24c7-11ef-b353-d1d4e8136596","responseTime":172,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950759,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.18282,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762568,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ"} 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":"e30f1328b290aab42ad1d9749bcea708"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08f4537a-28a4-43d6-8cc2-3cf787d4a601","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762568.9780548} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8d0d3c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"POST /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling 200 61ms","method":"POST","requestID":"b8d0d3c0-24c7-11ef-b353-d1d4e8136596","responseTime":61,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.603353,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.44634,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"371a58a3-ed33-4af5-afa5-d710bbdbbfe1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762569.0657315} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.515343578Z"}]},"request_id":"47cbe373-7d4a-48e2-9446-a474a6ec19ef","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762569.0693624} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe3c446c-4a94-4679-9004-60fb8d6dfb87","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762569.0738556} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling 200 102ms","method":"POST","requestID":"b8d51980-24c7-11ef-b353-d1d4e8136596","responseTime":102,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8d51980-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":47}} authorization-1 | {"level":"info","message":"POST /relations/query 200 50ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e30f1328b290aab42ad1d9749bcea708"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":50}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 49ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8da49a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":49}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.222","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e30f1328b290aab42ad1d9749bcea708"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OX0.8nihsBc9M6UDNcBCPbQk-TI4BQiH_00KcmeUu3xOCqo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"e37180d664a2e149c972b6a94d494c55","responseTime":33,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5? 200 218ms","method":"GET","requestID":"e30f1328b290aab42ad1d9749bcea708","responseTime":218,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"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":"01001683-776d-4aea-86fa-b784f522b3ba"},{"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":"8c346a2f-fc8f-45ac-8009-ea7ce97b1bdf"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"adc7755b-88b3-4743-8d68-241872967102"}]},"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/2966bf4c-c08b-436f-b68b-4359cc2732b7"},{"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/46ed8e7f-c568-4ced-b857-70c36ee5fea5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"POST /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling 200 158ms","method":"POST","requestID":"b8da49a0-24c7-11ef-b353-d1d4e8136596","responseTime":158,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.00715,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762568,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OH0.UFfHAUbHDa40_s1noCC4iRoQLXFj3rkJZsXfl_ISDNQ"} 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":"b8f28c90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968924,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762569,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU2OX0.8nihsBc9M6UDNcBCPbQk-TI4BQiH_00KcmeUu3xOCqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e37180d664a2e149c972b6a94d494c55"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:04.736148657Z"}]},"request_id":"582d4cd3-d7ff-4ed2-b546-89039117cd8f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762569.2313714} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e37180d664a2e149c972b6a94d494c55"},"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":"07/Jun/2024:12:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.106","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e37180d664a2e149c972b6a94d494c55"} device-1 | {"level":"info","message":"GET /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7? 200 47ms","method":"GET","requestID":"e37180d664a2e149c972b6a94d494c55","responseTime":47,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"5e2cd64f-89bd-4bb8-ab58-52b6fe308a27","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762569.280341} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7297fef3-4700-47ce-a3ea-a7e6018b13f6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762569.2815475} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","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":"b8f28c90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":41}} 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/52224278-4956-4039-94e0-60a5f86dad80'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80'"} 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 162ms","method":"POST","requestID":"b8f28c90-24c7-11ef-b353-d1d4e8136596","responseTime":162,"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/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0bda3bb0-e7b1-46f4-9185-c61952ca1d32","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762569.496442} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.816669,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9222810-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling 200 14ms","method":"POST","requestID":"b9222810-24c7-11ef-b353-d1d4e8136596","responseTime":14,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.485436,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:09Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb38c10d-69dc-4a36-bf5e-7bd57ed66d96","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762569.5471077} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 48ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b924c020-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":48}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling 200 85ms","method":"POST","requestID":"b924c020-24c7-11ef-b353-d1d4e8136596","responseTime":85,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling"} device-1 | {"data":{"peerconnection":"52224278-4956-4039-94e0-60a5f86dad80","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/52224278-4956-4039-94e0-60a5f86dad80' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"52224278-4956-4039-94e0-60a5f86dad80","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"174d90750ca78d439aa1abb53dc9267d","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":"new","url":"http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7"},{"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/46ed8e7f-c568-4ced-b857-70c36ee5fea5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 17ms","method":"POST","requestID":"174d90750ca78d439aa1abb53dc9267d","responseTime":17,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch","requestID":"174d90750ca78d439aa1abb53dc9267d"} device-1 | {"data":{"peerconnection":"52224278-4956-4039-94e0-60a5f86dad80","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"52224278-4956-4039-94e0-60a5f86dad80","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4c6e09a0f892554a2c2b5efb7aad21aa","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"52224278-4956-4039-94e0-60a5f86dad80","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} 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/2966bf4c-c08b-436f-b68b-4359cc2732b7"},{"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/46ed8e7f-c568-4ced-b857-70c36ee5fea5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80"}}},"level":"info","message":"received a callback"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.1547,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:11Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F52224278-4956-4039-94e0-60a5f86dad80","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a34e2b10-99c1-43fb-8869-f3d449b16a76","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762571.7738128} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80","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":"ba7de780-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/52224278-4956-4039-94e0-60a5f86dad80 200 17ms","method":"GET","requestID":"ba7de780-24c7-11ef-b353-d1d4e8136596","responseTime":17,"status":200,"url":"/peerconnections/52224278-4956-4039-94e0-60a5f86dad80"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3MX0.clGRroQ8oscgcWuGwnitD7sEgqb61vEzFvr0vzRCxXc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"56eb03637f646ac95a71b5ceb744c819","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 168ms","method":"POST","requestID":"4c6e09a0f892554a2c2b5efb7aad21aa","responseTime":168,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"} gateway-1 | {"time_local":"07/Jun/2024:12:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c6e09a0f892554a2c2b5efb7aad21aa"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.199592,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:11Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e58f447-6f52-4800-b75c-fce8cabaea05","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762571.9118319} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba92f620-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.882231,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762571,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3MX0.clGRroQ8oscgcWuGwnitD7sEgqb61vEzFvr0vzRCxXc"} device-1 | {"level":"info","message":"POST /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling 200 23ms","method":"POST","requestID":"ba92f620-24c7-11ef-b353-d1d4e8136596","responseTime":23,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","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":"56eb03637f646ac95a71b5ceb744c819"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.09015,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:11Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a509915f-6713-4db7-93be-9ff25bbef368","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762571.9400015} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"} gateway-1 | {"time_local":"07/Jun/2024:12:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56eb03637f646ac95a71b5ceb744c819"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba969fa0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3MX0.clGRroQ8oscgcWuGwnitD7sEgqb61vEzFvr0vzRCxXc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3c9accf606f50221f5d11f4f993bc55b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling 200 54ms","method":"POST","requestID":"ba969fa0-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling"} experiment-1 | {"level":"info","message":"GET /experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9 200 72ms","method":"GET","requestID":"56eb03637f646ac95a71b5ceb744c819","responseTime":72,"status":200,"url":"/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.802358,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762571,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3MX0.clGRroQ8oscgcWuGwnitD7sEgqb61vEzFvr0vzRCxXc"} 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":"3c9accf606f50221f5d11f4f993bc55b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Attempting to finish experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.977459,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762571,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3MX0.clGRroQ8oscgcWuGwnitD7sEgqb61vEzFvr0vzRCxXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"baa14e00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"52224278-4956-4039-94e0-60a5f86dad80","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"476417814bc00a0473a9296e67c9c3e3","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/2966bf4c-c08b-436f-b68b-4359cc2732b7"},{"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/46ed8e7f-c568-4ced-b857-70c36ee5fea5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e24e07d025bd1ad974124571a2cd5bed","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/2966bf4c-c08b-436f-b68b-4359cc2732b7"},{"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/46ed8e7f-c568-4ced-b857-70c36ee5fea5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/52224278-4956-4039-94e0-60a5f86dad80"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F52224278-4956-4039-94e0-60a5f86dad80': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F52224278-4956-4039-94e0-60a5f86dad80","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"4771c1a2-e7c5-441f-855e-dceb28826aef","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.1122324} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e717d6a2-78e1-4e14-b84e-a9780ae45708","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.1138215} authorization-1 | {"level":"info","message":"POST /relations/update 200 73ms","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":"baa14e00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":73}} device-1 | {"data":{"peerconnection":"52224278-4956-4039-94e0-60a5f86dad80","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/52224278-4956-4039-94e0-60a5f86dad80 204 187ms","method":"DELETE","requestID":"baa14e00-24c7-11ef-b353-d1d4e8136596","responseTime":187,"status":204,"url":"/peerconnections/52224278-4956-4039-94e0-60a5f86dad80"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2966bf4c-c08b-436f-b68b-4359cc2732b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7562d988-2626-48be-9d4b-ded07349d05a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.2343705} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.306823,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bac37c00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling 200 27ms","method":"POST","requestID":"bac37c00-24c7-11ef-b353-d1d4e8136596","responseTime":27,"status":200,"url":"/devices/2966bf4c-c08b-436f-b68b-4359cc2732b7/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe60067e8-0e3d-43e5-9f17-edbee29f6ed9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe60067e8-0e3d-43e5-9f17-edbee29f6ed9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"3dd5be73-3b15-4eda-849a-a2e1e0fe2796","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.2478945} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f390012-eb53-4385-a922-aa523d3d73ef","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.2509634} authorization-1 | {"level":"info","message":"POST /relations/update 200 57ms","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":"3c9accf606f50221f5d11f4f993bc55b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":57}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.570424,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46ed8e7f-c568-4ced-b857-70c36ee5fea5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5cbe627-8dd4-43f7-b3dc-d86a520fa9ec","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.2850382} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bac7c1c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling 200 42ms","method":"POST","requestID":"bac7c1c0-24c7-11ef-b353-d1d4e8136596","responseTime":42,"status":200,"url":"/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"} gateway-1 | {"time_local":"07/Jun/2024:12:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.437","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c9accf606f50221f5d11f4f993bc55b"} experiment-1 | {"level":"info","message":"DELETE /experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9 204 429ms","method":"DELETE","requestID":"3c9accf606f50221f5d11f4f993bc55b","responseTime":429,"status":204,"url":"/experiments/e60067e8-0e3d-43e5-9f17-edbee29f6ed9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 303ms","method":"POST","requestID":"476417814bc00a0473a9296e67c9c3e3","responseTime":303,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.311","http_referrer":"","http_user_agent":"node-fetch","requestID":"e24e07d025bd1ad974124571a2cd5bed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 306ms","method":"POST","requestID":"e24e07d025bd1ad974124571a2cd5bed","responseTime":306,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3144","request_time":"5.731","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2d8bc3736d9c464fa63d5994b3d85f4c"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.321","http_referrer":"","http_user_agent":"node-fetch","requestID":"476417814bc00a0473a9296e67c9c3e3"} gateway-1 | {"time_local":"07/Jun/2024:12:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"4.441","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"eefb0adaaf18df28d4d21b1fcb510672"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Mn0.szaLFctNdhmc9u9kSGgfksq-rfb9L9RvRmzbe2UKwWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 47ms","method":"GET","requestID":"cb03485e761c4645af2602640fc3af80","responseTime":47,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.985417,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762572,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Mn0.szaLFctNdhmc9u9kSGgfksq-rfb9L9RvRmzbe2UKwWo"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/46ed8e7f-c568-4ced-b857-70c36ee5fea5' closed"} 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":"cb03485e761c4645af2602640fc3af80"},"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/2966bf4c-c08b-436f-b68b-4359cc2732b7' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"65561d28-87f2-42f3-ad49-c7174bab2a1d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.5454836} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb03485e761c4645af2602640fc3af80"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3103b234-e401-4df8-8884-905a7157264a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.5576756} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb03485e761c4645af2602640fc3af80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":32}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"509550a3-9a53-4946-9a59-97ff23aac702","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.6122627} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95742ce3-0e68-4ed3-a043-c18288fe7ae4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.6136947} authorization-1 | {"level":"info","message":"POST /relations/update 200 58ms","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":"cb03485e761c4645af2602640fc3af80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":58}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.612217503Z"}]},"request_id":"70232a05-1a16-4e2e-bb67-de5b591686f3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.6466975} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.233","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb03485e761c4645af2602640fc3af80"} device-1 | {"level":"info","message":"POST /devices? 201 173ms","method":"POST","requestID":"cb03485e761c4645af2602640fc3af80","responseTime":173,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb03485e761c4645af2602640fc3af80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Mn0.szaLFctNdhmc9u9kSGgfksq-rfb9L9RvRmzbe2UKwWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5127e70dc9466d0239a5a009740e8c24","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.035859,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762572,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Mn0.szaLFctNdhmc9u9kSGgfksq-rfb9L9RvRmzbe2UKwWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5127e70dc9466d0239a5a009740e8c24"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"62966558-6895-4cf2-bff0-517b5b7b5226","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.7358606} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5127e70dc9466d0239a5a009740e8c24"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"376d7548-6077-4882-8ffd-13efab8fde46","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.7684824} 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":"5127e70dc9466d0239a5a009740e8c24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"d763cf9b-8806-4cb2-87de-8147545c124d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.7985125} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6967f00f-4351-433f-bd1b-829b31b6ba17","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.8242602} authorization-1 | {"level":"info","message":"POST /relations/update 200 59ms","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":"5127e70dc9466d0239a5a009740e8c24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":59}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.798471029Z"}]},"request_id":"ce493a2d-bd0e-4dd1-ace4-20f10aea9982","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762572.8331492} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5127e70dc9466d0239a5a009740e8c24"} device-1 | {"level":"info","message":"POST /devices? 201 180ms","method":"POST","requestID":"5127e70dc9466d0239a5a009740e8c24","responseTime":180,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5127e70dc9466d0239a5a009740e8c24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3NH0.O65Eufi32wcekigSqQID5IGrpCgj833u7nkIiPpm6eI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 35ms","method":"GET","requestID":"8127cf0e6b6703b97a71b53b8a3d5b3f","responseTime":35,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.986851,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762574,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3NH0.O65Eufi32wcekigSqQID5IGrpCgj833u7nkIiPpm6eI"} 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":"8127cf0e6b6703b97a71b53b8a3d5b3f"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.612217503Z"}]},"request_id":"902e6c5e-2950-44d3-92af-69d6a7dff9e1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762574.526372} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8127cf0e6b6703b97a71b53b8a3d5b3f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cc7d990-b479-4370-988a-a46b287e8ee2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762574.5348217} 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":"8127cf0e6b6703b97a71b53b8a3d5b3f"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.612217503Z"}]},"request_id":"13ff2de5-d543-4f9a-a8b8-21e71eb9fc56","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762574.6258402} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8127cf0e6b6703b97a71b53b8a3d5b3f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/5e7713c9-3354-4868-beb9-bac28dafa481 200 123ms","method":"PATCH","requestID":"8127cf0e6b6703b97a71b53b8a3d5b3f","responseTime":123,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481"} gateway-1 | {"time_local":"07/Jun/2024:12:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5e7713c9-3354-4868-beb9-bac28dafa481 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.160","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8127cf0e6b6703b97a71b53b8a3d5b3f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3NH0.O65Eufi32wcekigSqQID5IGrpCgj833u7nkIiPpm6eI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bf9fd194ae9994c53293b301f44c5d66","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.987239,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762574,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3NH0.O65Eufi32wcekigSqQID5IGrpCgj833u7nkIiPpm6eI"} 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":"bf9fd194ae9994c53293b301f44c5d66"},"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/5e7713c9-3354-4868-beb9-bac28dafa481/websocket 200 78ms","method":"POST","requestID":"bf9fd194ae9994c53293b301f44c5d66","responseTime":78,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5e7713c9-3354-4868-beb9-bac28dafa481/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bf9fd194ae9994c53293b301f44c5d66"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481' connected"} device-1 | {"level":"info","message":"OPTIONS /devices/6177574c-520d-48d3-a7a8-60a5a92324fc/websocket 200 1ms","method":"OPTIONS","requestID":"91e2ca66610cf41a0417b4abba9f4f94","responseTime":1,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6177574c-520d-48d3-a7a8-60a5a92324fc/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":"91e2ca66610cf41a0417b4abba9f4f94"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"91e2ca66610cf41a0417b4abba9f4f94","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3NX0.he2ldVwnwzO8s8T0E_64eQYEJoFZmq_P5kA8XxP4HMg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"e7e2e3a8c7e6d9e6ffeea0c7668344e2","responseTime":31,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:15Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953393,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762575,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3NX0.he2ldVwnwzO8s8T0E_64eQYEJoFZmq_P5kA8XxP4HMg"} 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":"e7e2e3a8c7e6d9e6ffeea0c7668344e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6177574c-520d-48d3-a7a8-60a5a92324fc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.091","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e7e2e3a8c7e6d9e6ffeea0c7668344e2"} device-1 | {"level":"info","message":"POST /devices/6177574c-520d-48d3-a7a8-60a5a92324fc/websocket 200 56ms","method":"POST","requestID":"e7e2e3a8c7e6d9e6ffeea0c7668344e2","responseTime":56,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3NX0.he2ldVwnwzO8s8T0E_64eQYEJoFZmq_P5kA8XxP4HMg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0bfd6182329cbf065851fd6c07462874","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:15Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.225906,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:15Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762575,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3NX0.he2ldVwnwzO8s8T0E_64eQYEJoFZmq_P5kA8XxP4HMg"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0bfd6182329cbf065851fd6c07462874"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.612217503Z"}]},"request_id":"b5339672-5deb-45e1-bc60-bd9d6fa341ba","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762575.964962} 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":"0bfd6182329cbf065851fd6c07462874"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5e7713c9-3354-4868-beb9-bac28dafa481? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0bfd6182329cbf065851fd6c07462874"} device-1 | {"level":"info","message":"GET /devices/5e7713c9-3354-4868-beb9-bac28dafa481? 200 86ms","method":"GET","requestID":"0bfd6182329cbf065851fd6c07462874","responseTime":86,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"abea3869900d4348dbc5907873c5cfd0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.574376,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762576,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA"} 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":"abea3869900d4348dbc5907873c5cfd0"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.798471029Z"}]},"request_id":"2226d767-c25e-40b3-bd02-79594b91a56c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.0300741} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abea3869900d4348dbc5907873c5cfd0"},"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":"07/Jun/2024:12:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6177574c-520d-48d3-a7a8-60a5a92324fc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"abea3869900d4348dbc5907873c5cfd0"} device-1 | {"level":"info","message":"GET /devices/6177574c-520d-48d3-a7a8-60a5a92324fc? 200 31ms","method":"GET","requestID":"abea3869900d4348dbc5907873c5cfd0","responseTime":31,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"6df705d1c463f729e1d5778184640b92","responseTime":12,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.975636,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762576,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","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":"6df705d1c463f729e1d5778184640b92"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"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:40588","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938271,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762576,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA"} 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":"bd1a6450-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.026176,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762576,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA"} 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":"bd1ab270-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.612217503Z"}]},"request_id":"7ace2d46-d248-406e-a2e9-a707392f1922","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.1613955} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd1a6450-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5e7713c9-3354-4868-beb9-bac28dafa481? 200 51ms","method":"GET","requestID":"bd1a6450-24c7-11ef-b353-d1d4e8136596","responseTime":51,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.798471029Z"}]},"request_id":"4dd052e0-5d04-43cb-b88f-756d2c92780a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.1630764} authorization-1 | {"level":"info","message":"POST /relations/query 200 52ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd1ab270-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":52}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6177574c-520d-48d3-a7a8-60a5a92324fc? 200 91ms","method":"GET","requestID":"bd1ab270-24c7-11ef-b353-d1d4e8136596","responseTime":91,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"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:40588","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.972269,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844823,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762576,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA"} 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":"bd3454f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762576,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA"} 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":"bd384c90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.90309,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1660c5c6-b27b-4de8-8296-6d258710890b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.3687725} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.612217503Z"}]},"request_id":"eccc4d8e-3da8-431c-bc88-2050ee40e39a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.3697455} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.798471029Z"}]},"request_id":"ff0ed1ab-3945-4ec5-a4f9-f2aeaa1e328f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.3710651} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd3abd90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":36}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling 200 47ms","method":"POST","requestID":"bd3abd90-24c7-11ef-b353-d1d4e8136596","responseTime":47,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 46ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd3454f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":46}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5e7713c9-3354-4868-beb9-bac28dafa481? 200 99ms","method":"GET","requestID":"bd3454f0-24c7-11ef-b353-d1d4e8136596","responseTime":99,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 82ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd384c90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":82}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.317817,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fedea960-8516-4d18-9687-8cb99aaa90a3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.4576638} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd4285c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6177574c-520d-48d3-a7a8-60a5a92324fc? 200 126ms","method":"GET","requestID":"bd384c90-24c7-11ef-b353-d1d4e8136596","responseTime":126,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling 200 90ms","method":"POST","requestID":"bd4285c0-24c7-11ef-b353-d1d4e8136596","responseTime":90,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.630668,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c508b48c-481e-4fa2-8603-6c20048fe01f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.5032647} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling 200 45ms","method":"POST","requestID":"bd4bd490-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd4bd490-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2001baef-3472-4d1f-9d60-041f26f6a18a#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2001baef-3472-4d1f-9d60-041f26f6a18a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"541c341d-2910-4596-a503-72310f26978f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.525008} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2f315a2-bea8-4b32-bc16-fd5b254fa38f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.5264387} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43c3bbb8-f488-416e-8e19-f88c4508a9ca","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.55989} gateway-1 | {"time_local":"07/Jun/2024:12:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.537","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6df705d1c463f729e1d5778184640b92"} 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":"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":"6df705d1c463f729e1d5778184640b92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":112}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.215244,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 523ms","method":"POST","requestID":"6df705d1c463f729e1d5778184640b92","responseTime":523,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling 200 88ms","method":"POST","requestID":"bd52d970-24c7-11ef-b353-d1d4e8136596","responseTime":88,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 32ms","method":"GET","requestID":"fee457440c2337f6c7a3911d36e8f16c","responseTime":32,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd52d970-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":26}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"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":"97b8b7ad-b4f1-4a2a-9772-c7d034255361"},{"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":"88cf0626-2712-4e96-bd1a-9887a12f66d2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"31247606-4497-4e01-a080-5b74022c26ab"}]},"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/5e7713c9-3354-4868-beb9-bac28dafa481"},{"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/6177574c-520d-48d3-a7a8-60a5a92324fc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.8913,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762576,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA"} 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":"fee457440c2337f6c7a3911d36e8f16c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41752","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.90991,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762576,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","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":"bd621bb0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.612217503Z"}]},"request_id":"c0e8005c-27ba-419a-84af-0e19da1a9362","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.6579342} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5e7713c9-3354-4868-beb9-bac28dafa481? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fee457440c2337f6c7a3911d36e8f16c"} device-1 | {"level":"info","message":"GET /devices/5e7713c9-3354-4868-beb9-bac28dafa481? 200 62ms","method":"GET","requestID":"fee457440c2337f6c7a3911d36e8f16c","responseTime":62,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fee457440c2337f6c7a3911d36e8f16c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":40}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b844a78a1b9790028056fb655bfd6174","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"7bca65a6-a248-4eae-9572-c343457c2a7b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.7124462} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"782f2e46-e1ee-4ca1-8144-df1f0eda9afb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.7137933} authorization-1 | {"level":"info","message":"POST /relations/update 200 87ms","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":"bd621bb0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":87}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.972582,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762576,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3Nn0.g90Mq1iIISZeQ7qAHxwWN5v0Rcq0Yaqrjbk9oSHoEsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 52ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b844a78a1b9790028056fb655bfd6174"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":52}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:12.798471029Z"}]},"request_id":"d71a4345-4dfe-4c32-91cb-85f803da1b0e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762576.7723057} 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/3adaf32b-7d8f-4a4d-9ac3-965756752d30'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30'"} 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 159ms","method":"POST","requestID":"bd621bb0-24c7-11ef-b353-d1d4e8136596","responseTime":159,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b844a78a1b9790028056fb655bfd6174"},"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":"07/Jun/2024:12:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6177574c-520d-48d3-a7a8-60a5a92324fc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b844a78a1b9790028056fb655bfd6174"} device-1 | {"level":"info","message":"GET /devices/6177574c-520d-48d3-a7a8-60a5a92324fc? 200 110ms","method":"GET","requestID":"b844a78a1b9790028056fb655bfd6174","responseTime":110,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":52.673773,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:17Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bff0d72-84b5-4649-a7c9-754f54211230","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762577.0378864} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 63ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd986df0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":63}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling 200 76ms","method":"POST","requestID":"bd986df0-24c7-11ef-b353-d1d4e8136596","responseTime":76,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling 200 17ms","method":"POST","requestID":"bda4a2f0-24c7-11ef-b353-d1d4e8136596","responseTime":17,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.17452,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:17Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9068d607-bab0-4a05-aa1d-38dece67c1a1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762577.064424} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bda4a2f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"data":{"peerconnection":"3adaf32b-7d8f-4a4d-9ac3-965756752d30","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/3adaf32b-7d8f-4a4d-9ac3-965756752d30' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3adaf32b-7d8f-4a4d-9ac3-965756752d30","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481"},{"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/6177574c-520d-48d3-a7a8-60a5a92324fc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1f2ba2c106ba7e1032a2a186a6b19d6b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"1f2ba2c106ba7e1032a2a186a6b19d6b","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f2ba2c106ba7e1032a2a186a6b19d6b"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc'"} device-1 | {"data":{"peerconnection":"3adaf32b-7d8f-4a4d-9ac3-965756752d30","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3adaf32b-7d8f-4a4d-9ac3-965756752d30","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/3adaf32b-7d8f-4a4d-9ac3-965756752d30' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3adaf32b-7d8f-4a4d-9ac3-965756752d30","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/5e7713c9-3354-4868-beb9-bac28dafa481"},{"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/6177574c-520d-48d3-a7a8-60a5a92324fc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b9e6655900313b2874dabf4b0fa90892","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3adaf32b-7d8f-4a4d-9ac3-965756752d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae1b6e1b-2ab4-4098-99d4-0bf846853288","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.0423546} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.288048,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30","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 38ms","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":"bececb10-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":38}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30 200 51ms","method":"GET","requestID":"bececb10-24c7-11ef-b353-d1d4e8136596","responseTime":51,"status":200,"url":"/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 83ms","method":"POST","requestID":"b9e6655900313b2874dabf4b0fa90892","responseTime":83,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.088","http_referrer":"","http_user_agent":"node-fetch","requestID":"b9e6655900313b2874dabf4b0fa90892"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.520536,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3a0c032-e55b-4b73-875c-e04020868c87","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.0858} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bed9a080-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling 200 13ms","method":"POST","requestID":"bed9a080-24c7-11ef-b353-d1d4e8136596","responseTime":13,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.820594,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b811a059-ff8a-4e9a-84c5-6121f67502ab","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.131454} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3OX0.v8lzUrPb9Or25Amp3n26Aev-fxUz_jaGPIDRRsH2wcw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"83943c7eaba6e9abf2d0d89d5c2c3ae9","responseTime":12,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bedc1180-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.959179,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762579,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3OX0.v8lzUrPb9Or25Amp3n26Aev-fxUz_jaGPIDRRsH2wcw"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling 200 61ms","method":"POST","requestID":"bedc1180-24c7-11ef-b353-d1d4e8136596","responseTime":61,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","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":"83943c7eaba6e9abf2d0d89d5c2c3ae9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"} gateway-1 | {"time_local":"07/Jun/2024:12:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2001baef-3472-4d1f-9d60-041f26f6a18a HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83943c7eaba6e9abf2d0d89d5c2c3ae9"} experiment-1 | {"level":"info","message":"GET /experiments/2001baef-3472-4d1f-9d60-041f26f6a18a 200 55ms","method":"GET","requestID":"83943c7eaba6e9abf2d0d89d5c2c3ae9","responseTime":55,"status":200,"url":"/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3OX0.v8lzUrPb9Or25Amp3n26Aev-fxUz_jaGPIDRRsH2wcw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"dfc3072090cccc9699f49410ee21c706","responseTime":8,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.048491,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762579,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3OX0.v8lzUrPb9Or25Amp3n26Aev-fxUz_jaGPIDRRsH2wcw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","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":"dfc3072090cccc9699f49410ee21c706"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.931843,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762579,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3OX0.v8lzUrPb9Or25Amp3n26Aev-fxUz_jaGPIDRRsH2wcw"} 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":"bef60220-24c7-11ef-b353-d1d4e8136596"},"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/3adaf32b-7d8f-4a4d-9ac3-965756752d30' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3adaf32b-7d8f-4a4d-9ac3-965756752d30","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"acd4ea18de84c8cf7d7885ebd22564bb","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b33204e658904f7ae770949cd7c4e6b5","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3adaf32b-7d8f-4a4d-9ac3-965756752d30': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3adaf32b-7d8f-4a4d-9ac3-965756752d30","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"a39548df-f78e-426d-a112-7287bcc987d9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.3390687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63592a45-5b93-45f9-9c5c-c050b90d4846","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.368633} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","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":"bef60220-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":44}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481"},{"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/6177574c-520d-48d3-a7a8-60a5a92324fc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481"},{"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/6177574c-520d-48d3-a7a8-60a5a92324fc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30 204 120ms","method":"DELETE","requestID":"bef60220-24c7-11ef-b353-d1d4e8136596","responseTime":120,"status":204,"url":"/peerconnections/3adaf32b-7d8f-4a4d-9ac3-965756752d30"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.355553,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e7713c9-3354-4868-beb9-bac28dafa481","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e8a2c83-5c93-4f65-878e-2b1feaca6558","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.440185} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf0fa4a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling 200 14ms","method":"POST","requestID":"bf0fa4a0-24c7-11ef-b353-d1d4e8136596","responseTime":14,"status":200,"url":"/devices/5e7713c9-3354-4868-beb9-bac28dafa481/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2001baef-3472-4d1f-9d60-041f26f6a18a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2001baef-3472-4d1f-9d60-041f26f6a18a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"b5d0b8f9-4a77-4332-b9bb-1157e4c293cc","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.4466949} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"beca5e69-1a43-4d18-bcd4-a441e79eba24","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.4486835} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 52ms","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":"dfc3072090cccc9699f49410ee21c706"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":52}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.366644,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6177574c-520d-48d3-a7a8-60a5a92324fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b33883c-de6c-49d9-88ac-45b82f063c3a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.48918} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf1263c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling 200 45ms","method":"POST","requestID":"bf1263c0-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/devices/6177574c-520d-48d3-a7a8-60a5a92324fc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"} gateway-1 | {"time_local":"07/Jun/2024:12:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2001baef-3472-4d1f-9d60-041f26f6a18a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.489","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dfc3072090cccc9699f49410ee21c706"} gateway-1 | {"time_local":"07/Jun/2024:12:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3194","request_time":"4.937","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"faf4b7f6df0ddf0d3608b71659a24167"} experiment-1 | {"level":"info","message":"DELETE /experiments/2001baef-3472-4d1f-9d60-041f26f6a18a 204 486ms","method":"DELETE","requestID":"dfc3072090cccc9699f49410ee21c706","responseTime":486,"status":204,"url":"/experiments/2001baef-3472-4d1f-9d60-041f26f6a18a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5e7713c9-3354-4868-beb9-bac28dafa481' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 359ms","method":"POST","requestID":"acd4ea18de84c8cf7d7885ebd22564bb","responseTime":359,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3OX0.v8lzUrPb9Or25Amp3n26Aev-fxUz_jaGPIDRRsH2wcw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"e1f0cde6e76eb4809a3e91a8670269d0","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.381","http_referrer":"","http_user_agent":"node-fetch","requestID":"acd4ea18de84c8cf7d7885ebd22564bb"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.385","http_referrer":"","http_user_agent":"node-fetch","requestID":"b33204e658904f7ae770949cd7c4e6b5"} gateway-1 | {"time_local":"07/Jun/2024:12:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"3.886","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4f53d21f282e50898e0475afb12922ff"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 378ms","method":"POST","requestID":"b33204e658904f7ae770949cd7c4e6b5","responseTime":378,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.204923,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762579,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3OX0.v8lzUrPb9Or25Amp3n26Aev-fxUz_jaGPIDRRsH2wcw"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","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":"e1f0cde6e76eb4809a3e91a8670269d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6177574c-520d-48d3-a7a8-60a5a92324fc' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"da3a9b09-8888-4b47-91ae-09043587bd79","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.8455117} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1f0cde6e76eb4809a3e91a8670269d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ca9b4a4-afd5-481c-afa8-478c5750ef01","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.8526719} 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":"e1f0cde6e76eb4809a3e91a8670269d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"90a43435-f61e-4ca0-96be-372b8c53a025","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.9136631} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eff5aa09-e025-4ee8-b1cf-cbd30c0199a7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.9162614} authorization-1 | {"level":"info","message":"POST /relations/update 200 70ms","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":"e1f0cde6e76eb4809a3e91a8670269d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":70}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:19.913627720Z"}]},"request_id":"417af9c0-cef5-4142-97a3-302e26e1bec0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762579.9306178} gateway-1 | {"time_local":"07/Jun/2024:12:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.212","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1f0cde6e76eb4809a3e91a8670269d0"} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 200ms","method":"POST","requestID":"e1f0cde6e76eb4809a3e91a8670269d0","responseTime":200,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1f0cde6e76eb4809a3e91a8670269d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3OX0.v8lzUrPb9Or25Amp3n26Aev-fxUz_jaGPIDRRsH2wcw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"612072bf98d588c6a63c5d1ecbbd1f9b","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.984478,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762579,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU3OX0.v8lzUrPb9Or25Amp3n26Aev-fxUz_jaGPIDRRsH2wcw"} 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":"612072bf98d588c6a63c5d1ecbbd1f9b"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"78d00929-f6e0-4e1a-b282-ac572d79b795","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762580.040433} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"612072bf98d588c6a63c5d1ecbbd1f9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ceda8f24-8e19-4a14-b36c-1fa8e2932248","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762580.05038} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"612072bf98d588c6a63c5d1ecbbd1f9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"512cc52c-4469-4164-a7c9-a26e8ceb11b0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762580.1004496} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7aa643cf-2ada-4648-bf12-fc167e4121b8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762580.1013677} authorization-1 | {"level":"info","message":"POST /relations/update 200 54ms","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":"612072bf98d588c6a63c5d1ecbbd1f9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":54}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:20.100408407Z"}]},"request_id":"c025e31b-787c-4b95-98db-ddacc258b201","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762580.1079338} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 133ms","method":"POST","requestID":"612072bf98d588c6a63c5d1ecbbd1f9b","responseTime":133,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"612072bf98d588c6a63c5d1ecbbd1f9b"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"612072bf98d588c6a63c5d1ecbbd1f9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"094b1d8a965619227f49af3b0b329486","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:21Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.97257,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} 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":"094b1d8a965619227f49af3b0b329486"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo","level":"info","message":"auth send jwt"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:19.913627720Z"}]},"request_id":"805fd665-793b-4e14-acd1-ecdedb428b13","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762581.5317297} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7889c8106719bb1b45b152319952d2e9","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"094b1d8a965619227f49af3b0b329486"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":31}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32e9e556-f2cf-4a67-8f26-0eb2e7d3f822","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762581.5806344} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"094b1d8a965619227f49af3b0b329486"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":49}} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956827,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} 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":"7889c8106719bb1b45b152319952d2e9"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:19.913627720Z"}]},"request_id":"1860701d-b63c-4b81-8a38-39d0b54ef859","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762581.696397} 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":"094b1d8a965619227f49af3b0b329486"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/9bd6eee2-089b-4631-af53-ce951688ba30 200 185ms","method":"PATCH","requestID":"094b1d8a965619227f49af3b0b329486","responseTime":185,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30"} gateway-1 | {"time_local":"07/Jun/2024:12:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9bd6eee2-089b-4631-af53-ce951688ba30 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.191","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"094b1d8a965619227f49af3b0b329486"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"aeef78b35d7ce68d35522af9ad72087e","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:20.100408407Z"}]},"request_id":"b9e5c72d-b8ca-4357-82d3-004f7345b632","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762581.7044306} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7889c8106719bb1b45b152319952d2e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912867,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} 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":"aeef78b35d7ce68d35522af9ad72087e"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f7a683a-5ebb-45e1-8cd6-050d68463e6e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762581.7223554} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7889c8106719bb1b45b152319952d2e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:20.100408407Z"}]},"request_id":"19525518-ddc6-42ff-ab5e-af0378d09973","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762581.7604883} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7889c8106719bb1b45b152319952d2e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":42}} device-1 | {"level":"info","message":"POST /devices/9bd6eee2-089b-4631-af53-ce951688ba30/websocket 200 62ms","method":"POST","requestID":"aeef78b35d7ce68d35522af9ad72087e","responseTime":62,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30/websocket"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9bd6eee2-089b-4631-af53-ce951688ba30/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.073","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"aeef78b35d7ce68d35522af9ad72087e"} gateway-1 | {"time_local":"07/Jun/2024:12:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1971b884-104e-4f2e-b9db-32f604f92583 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.218","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7889c8106719bb1b45b152319952d2e9"} device-1 | {"level":"info","message":"PATCH /devices/1971b884-104e-4f2e-b9db-32f604f92583 200 149ms","method":"PATCH","requestID":"7889c8106719bb1b45b152319952d2e9","responseTime":149,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"530a2637df325bcce76cf544b4dd604d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937052,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} 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":"530a2637df325bcce76cf544b4dd604d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1971b884-104e-4f2e-b9db-32f604f92583/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"530a2637df325bcce76cf544b4dd604d"} device-1 | {"level":"info","message":"POST /devices/1971b884-104e-4f2e-b9db-32f604f92583/websocket 200 78ms","method":"POST","requestID":"530a2637df325bcce76cf544b4dd604d","responseTime":78,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dc9eba2bfa0b8721b943f428cbe6e1bf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019566,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} 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":"dc9eba2bfa0b8721b943f428cbe6e1bf"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:19.913627720Z"}]},"request_id":"852068ee-d7a2-4d76-857b-689cb43c07d5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762581.9283955} 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":"dc9eba2bfa0b8721b943f428cbe6e1bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9bd6eee2-089b-4631-af53-ce951688ba30? 200 25ms","method":"GET","requestID":"dc9eba2bfa0b8721b943f428cbe6e1bf","responseTime":25,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9bd6eee2-089b-4631-af53-ce951688ba30? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc9eba2bfa0b8721b943f428cbe6e1bf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8c69e295af70d23be84b735e8111488e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900103,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} 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":"8c69e295af70d23be84b735e8111488e"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:20.100408407Z"}]},"request_id":"91208561-fce9-4f1b-bb52-202736ac0b8f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762581.9843895} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c69e295af70d23be84b735e8111488e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1971b884-104e-4f2e-b9db-32f604f92583? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c69e295af70d23be84b735e8111488e"} device-1 | {"level":"info","message":"GET /devices/1971b884-104e-4f2e-b9db-32f604f92583? 200 24ms","method":"GET","requestID":"8c69e295af70d23be84b735e8111488e","responseTime":24,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a31ae8c03d9adf843c59a22ee40ec053","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:40588","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.91311,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","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":"a31ae8c03d9adf843c59a22ee40ec053"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":30}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94374,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} 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":"c0ad7620-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:19.913627720Z"}]},"request_id":"ff1eb175-0802-4f5c-a317-3ef4cb655535","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.1596646} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0ad7620-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9bd6eee2-089b-4631-af53-ce951688ba30? 200 48ms","method":"GET","requestID":"c0ad7620-24c7-11ef-b353-d1d4e8136596","responseTime":48,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30?"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948898,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} 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":"c0b34280-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:20.100408407Z"}]},"request_id":"4d45f0de-3c74-4c65-9e83-955327206e25","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.2083912} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1971b884-104e-4f2e-b9db-32f604f92583? 200 29ms","method":"GET","requestID":"c0b34280-24c7-11ef-b353-d1d4e8136596","responseTime":29,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0b34280-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.04197,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0d0b590-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":44}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0d12ac0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.132365,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:19.913627720Z"}]},"request_id":"47807e25-45b8-4b08-95be-bb4465c5ddab","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.4565268} authorization-1 | {"level":"info","message":"POST /relations/query 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0d0b590-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":38}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:39614","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} device-1 | {"level":"info","message":"GET /devices/9bd6eee2-089b-4631-af53-ce951688ba30? 200 113ms","method":"GET","requestID":"c0d0b590-24c7-11ef-b353-d1d4e8136596","responseTime":113,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:20.100408407Z"}]},"request_id":"0cd86659-756c-4ae0-9dc3-983769eb34d2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.4922316} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd67bfa4-2668-4ea4-8544-054d5d4da8f1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.49271} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0d12ac0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:39614","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.617683,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 53ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0d178e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":53}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1971b884-104e-4f2e-b9db-32f604f92583? 200 124ms","method":"GET","requestID":"c0d12ac0-24c7-11ef-b353-d1d4e8136596","responseTime":124,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling 200 123ms","method":"POST","requestID":"c0d178e0-24c7-11ef-b353-d1d4e8136596","responseTime":123,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.956588,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc974e75c-e886-458b-8364-b14356c67968#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc974e75c-e886-458b-8364-b14356c67968","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"ab3d73d0-841d-44ba-9565-a082b2dc76be","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.5511642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bfb00f26-d227-4453-a32a-5dcdbeec7a74","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.5541325} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a30a21a8-24d1-4f7a-a0c7-9f331bd47235","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.5562937} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47372910-7a00-48e4-b8e7-033a20d1e133","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.559246} authorization-1 | {"level":"info","message":"POST /relations/update 200 123ms","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":"a31ae8c03d9adf843c59a22ee40ec053"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":123}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0e500e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.333496,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0e54f00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling 200 67ms","method":"POST","requestID":"c0e500e0-24c7-11ef-b353-d1d4e8136596","responseTime":67,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling"} gateway-1 | {"time_local":"07/Jun/2024:12:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.581","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a31ae8c03d9adf843c59a22ee40ec053"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"level":"info","message":"POST /experiments? 201 603ms","method":"POST","requestID":"a31ae8c03d9adf843c59a22ee40ec053","responseTime":603,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling 200 92ms","method":"POST","requestID":"c0e54f00-24c7-11ef-b353-d1d4e8136596","responseTime":92,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.591942,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87e84a99-b75b-43f4-8296-700cf5d17f72","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.6159327} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0f3f500-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling 200 29ms","method":"POST","requestID":"c0f3f500-24c7-11ef-b353-d1d4e8136596","responseTime":29,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"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":"1d6e48e4-497b-4aa1-977c-795abaeb66da"},{"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":"eb6040dc-2143-49b9-a185-6f6dfb3efb0f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5713411b-03b9-4d82-be60-775077c3c029"}]},"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/9bd6eee2-089b-4631-af53-ce951688ba30"},{"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/1971b884-104e-4f2e-b9db-32f604f92583"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4Mn0.-lvVw7o6eNPR0RsFW6Ox_DeGnxFe-3XkW5O9Yrzw-3k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 91ms","method":"GET","requestID":"83027d45fc675c697d0f951fca5b144a","responseTime":91,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.981472,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.991513,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762581,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4MX0.v1Yfb3Eu8uFQJ9j9w5UZSJfzPZMe0lqRJf8jVClXczo"} authorization-1 | {"level":"info","message":"POST /authorize 200 52ms","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":"c0fccea0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":52}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762582,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4Mn0.-lvVw7o6eNPR0RsFW6Ox_DeGnxFe-3XkW5O9Yrzw-3k"} authorization-1 | {"level":"info","message":"POST /authorize 200 52ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83027d45fc675c697d0f951fca5b144a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":52}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:19.913627720Z"}]},"request_id":"b5b9a616-df71-4afe-8e70-6ccbf13c79b7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.7412634} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9bd6eee2-089b-4631-af53-ce951688ba30? 200 83ms","method":"GET","requestID":"83027d45fc675c697d0f951fca5b144a","responseTime":83,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83027d45fc675c697d0f951fca5b144a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9bd6eee2-089b-4631-af53-ce951688ba30? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83027d45fc675c697d0f951fca5b144a"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"86545fa1-d1e5-4f22-95e7-ae1223726384","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.785958} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6fc52e76-fcbe-46c6-ab7d-b115a284e0ea","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.7872243} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4Mn0.-lvVw7o6eNPR0RsFW6Ox_DeGnxFe-3XkW5O9Yrzw-3k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"42e5f21d652f4b5e3a0954a8392b987c","responseTime":30,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","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":"c0fccea0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":37}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.030435,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762582,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4Mn0.-lvVw7o6eNPR0RsFW6Ox_DeGnxFe-3XkW5O9Yrzw-3k"} 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":"42e5f21d652f4b5e3a0954a8392b987c"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:20.100408407Z"}]},"request_id":"fa91d90e-d46c-4798-8387-6abc255aa53e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762582.8457775} authorization-1 | {"level":"info","message":"POST /relations/query 200 39ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42e5f21d652f4b5e3a0954a8392b987c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":39}} 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/e5a834c8-2168-410f-9965-bd8acca5ca74'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74'"} 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 207ms","method":"POST","requestID":"c0fccea0-24c7-11ef-b353-d1d4e8136596","responseTime":207,"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/1971b884-104e-4f2e-b9db-32f604f92583? 200 86ms","method":"GET","requestID":"42e5f21d652f4b5e3a0954a8392b987c","responseTime":86,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1971b884-104e-4f2e-b9db-32f604f92583? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42e5f21d652f4b5e3a0954a8392b987c"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.523233,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a0db4b2-74f6-451b-ad74-1c7049f72dfa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762583.0392072} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c134ce90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling 200 21ms","method":"POST","requestID":"c134ce90-24c7-11ef-b353-d1d4e8136596","responseTime":21,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.538481,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:23Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"798c35de-c043-4ddc-aa98-9422dc06bd72","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762583.092654} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c13ce4e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling 200 16ms","method":"POST","requestID":"c13ce4e0-24c7-11ef-b353-d1d4e8136596","responseTime":16,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling"} device-1 | {"data":{"peerconnection":"e5a834c8-2168-410f-9965-bd8acca5ca74","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e5a834c8-2168-410f-9965-bd8acca5ca74","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/e5a834c8-2168-410f-9965-bd8acca5ca74' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5a834c8-2168-410f-9965-bd8acca5ca74","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1cd7705ba838d71b4adfb236bdfeb3bb","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/9bd6eee2-089b-4631-af53-ce951688ba30"},{"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/1971b884-104e-4f2e-b9db-32f604f92583"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"1cd7705ba838d71b4adfb236bdfeb3bb","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"1cd7705ba838d71b4adfb236bdfeb3bb"} device-1 | {"data":{"peerconnection":"e5a834c8-2168-410f-9965-bd8acca5ca74","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e5a834c8-2168-410f-9965-bd8acca5ca74","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/e5a834c8-2168-410f-9965-bd8acca5ca74' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5a834c8-2168-410f-9965-bd8acca5ca74","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"881d2a28e3cb583a0ab6af89bee7fcb2","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/9bd6eee2-089b-4631-af53-ce951688ba30"},{"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/1971b884-104e-4f2e-b9db-32f604f92583"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.391387,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5a834c8-2168-410f-9965-bd8acca5ca74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4889e94e-badd-47cb-af95-cf817191ca4d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762585.2784579} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74","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 33ms","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":"c28a9a90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":33}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4NX0.4Cqviyw0pZi8-cPqc_iEN_er96ljwMK_NKBBr-deFuA","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"GET /peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74 200 52ms","method":"GET","requestID":"c28a9a90-24c7-11ef-b353-d1d4e8136596","responseTime":52,"status":200,"url":"/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ffcfeaf6670aa39e79e7884846747bb8","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.402021,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:25Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c974e75c-e886-458b-8364-b14356c67968"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762585,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4NX0.4Cqviyw0pZi8-cPqc_iEN_er96ljwMK_NKBBr-deFuA"} 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":"ffcfeaf6670aa39e79e7884846747bb8"},"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/c974e75c-e886-458b-8364-b14356c67968"} gateway-1 | {"time_local":"07/Jun/2024:12:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c974e75c-e886-458b-8364-b14356c67968 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffcfeaf6670aa39e79e7884846747bb8"} experiment-1 | {"level":"info","message":"GET /experiments/c974e75c-e886-458b-8364-b14356c67968 200 22ms","method":"GET","requestID":"ffcfeaf6670aa39e79e7884846747bb8","responseTime":22,"status":200,"url":"/experiments/c974e75c-e886-458b-8364-b14356c67968"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4NX0.4Cqviyw0pZi8-cPqc_iEN_er96ljwMK_NKBBr-deFuA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5aa6db4821ff34da81975ed3e3ff618c","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c974e75c-e886-458b-8364-b14356c67968"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.893569,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762585,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4NX0.4Cqviyw0pZi8-cPqc_iEN_er96ljwMK_NKBBr-deFuA"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","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":"5aa6db4821ff34da81975ed3e3ff618c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 187ms","method":"POST","requestID":"881d2a28e3cb583a0ab6af89bee7fcb2","responseTime":187,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"07/Jun/2024:12:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"881d2a28e3cb583a0ab6af89bee7fcb2"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.434426,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30d8bfe2-3162-4322-b4dd-782ddf6fedc3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762585.4612007} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2a65ff0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling 200 47ms","method":"POST","requestID":"c2a65ff0-24c7-11ef-b353-d1d4e8136596","responseTime":47,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.340706,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e097d6ea-9acf-4453-8bfd-1082b74b9ab5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762585.5152388} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 59ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2ae0110-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":59}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling 200 92ms","method":"POST","requestID":"c2ae0110-24c7-11ef-b353-d1d4e8136596","responseTime":92,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.294736,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762585,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4NX0.4Cqviyw0pZi8-cPqc_iEN_er96ljwMK_NKBBr-deFuA"} 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":"c2b5c940-24c7-11ef-b353-d1d4e8136596"},"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/e5a834c8-2168-410f-9965-bd8acca5ca74' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5a834c8-2168-410f-9965-bd8acca5ca74","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"98d1911cc5f8f135e73baa0b459df34f","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"57961793dda430944c8f28727f41fe71","responseTime":4,"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/9bd6eee2-089b-4631-af53-ce951688ba30"},{"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/1971b884-104e-4f2e-b9db-32f604f92583"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30"},{"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/1971b884-104e-4f2e-b9db-32f604f92583"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5a834c8-2168-410f-9965-bd8acca5ca74': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5a834c8-2168-410f-9965-bd8acca5ca74","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"001e8bea-1429-4c82-a924-2dd19a0ae33d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762585.690872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97793688-04e6-4d6e-94bd-52443e1b7ddf","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762585.6923292} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","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":"c2b5c940-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":53}} device-1 | {"data":{"peerconnection":"e5a834c8-2168-410f-9965-bd8acca5ca74","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/e5a834c8-2168-410f-9965-bd8acca5ca74 204 188ms","method":"DELETE","requestID":"c2b5c940-24c7-11ef-b353-d1d4e8136596","responseTime":188,"status":204,"url":"/peerconnections/e5a834c8-2168-410f-9965-bd8acca5ca74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c974e75c-e886-458b-8364-b14356c67968"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.334198,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bd6eee2-089b-4631-af53-ce951688ba30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86f0b190-1c48-4406-a857-b7cb8e867f56","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762585.8020117} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2da6840-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling 200 41ms","method":"POST","requestID":"c2da6840-24c7-11ef-b353-d1d4e8136596","responseTime":41,"status":200,"url":"/devices/9bd6eee2-089b-4631-af53-ce951688ba30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc974e75c-e886-458b-8364-b14356c67968': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc974e75c-e886-458b-8364-b14356c67968","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"0a5323a9-acd7-4667-8ea4-6d15cd3f45d1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762585.842803} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1c4f815-8886-4721-a355-d4d65aab64e9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762585.8441725} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1971b884-104e-4f2e-b9db-32f604f92583","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98286ce6-fe46-41a6-998a-e723391d7953","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762585.8492239} authorization-1 | {"level":"info","message":"POST /relations/update 200 63ms","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":"5aa6db4821ff34da81975ed3e3ff618c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":63}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.42236,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2e0f7f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":37}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling 200 47ms","method":"POST","requestID":"c2e0f7f0-24c7-11ef-b353-d1d4e8136596","responseTime":47,"status":200,"url":"/devices/1971b884-104e-4f2e-b9db-32f604f92583/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c974e75c-e886-458b-8364-b14356c67968"} gateway-1 | {"time_local":"07/Jun/2024:12:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c974e75c-e886-458b-8364-b14356c67968 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.621","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5aa6db4821ff34da81975ed3e3ff618c"} gateway-1 | {"time_local":"07/Jun/2024:12:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"4.220","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0a21b25b4f5dce0301a6c70eb057c322"} gateway-1 | {"time_local":"07/Jun/2024:12:16:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"4.170","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"43214323fda12723b68b91b8dbb602e3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4Nn0.9z-yqKYIEDDeq-abkowXpCJ6DQ25snSCMGB2Hx5Ol98","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a48bd3a6835fd24f1bdc648d49342754","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} experiment-1 | {"level":"info","message":"DELETE /experiments/c974e75c-e886-458b-8364-b14356c67968 204 637ms","method":"DELETE","requestID":"5aa6db4821ff34da81975ed3e3ff618c","responseTime":637,"status":204,"url":"/experiments/c974e75c-e886-458b-8364-b14356c67968"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.007077,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762586,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4Nn0.9z-yqKYIEDDeq-abkowXpCJ6DQ25snSCMGB2Hx5Ol98"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","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":"a48bd3a6835fd24f1bdc648d49342754"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 435ms","method":"POST","requestID":"98d1911cc5f8f135e73baa0b459df34f","responseTime":435,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.438","http_referrer":"","http_user_agent":"node-fetch","requestID":"98d1911cc5f8f135e73baa0b459df34f"} gateway-1 | {"time_local":"07/Jun/2024:12:16:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.442","http_referrer":"","http_user_agent":"node-fetch","requestID":"57961793dda430944c8f28727f41fe71"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 431ms","method":"POST","requestID":"57961793dda430944c8f28727f41fe71","responseTime":431,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9bd6eee2-089b-4631-af53-ce951688ba30' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1971b884-104e-4f2e-b9db-32f604f92583' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0492530f-c676-4b79-866d-7df0ac652045","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.2265046} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a48bd3a6835fd24f1bdc648d49342754"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54c976e7-3085-42ec-90fb-393aec76512c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.276548} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a48bd3a6835fd24f1bdc648d49342754"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"344de59e-5723-48de-893c-d3c86c5c6516","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.3208156} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce06fdb9-e1bb-4a96-80f9-b591775f2cdd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.3215418} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","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":"a48bd3a6835fd24f1bdc648d49342754"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":51}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.320769846Z"}]},"request_id":"b556c425-4b7e-45cf-9c46-4d201af2cbff","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.36275} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 326ms","method":"POST","requestID":"a48bd3a6835fd24f1bdc648d49342754","responseTime":326,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.372","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a48bd3a6835fd24f1bdc648d49342754"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a48bd3a6835fd24f1bdc648d49342754"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4Nn0.9z-yqKYIEDDeq-abkowXpCJ6DQ25snSCMGB2Hx5Ol98","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"0cc0b62b211c245b450c77ddc64df218","responseTime":9,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:26Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.052059,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762586,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4Nn0.9z-yqKYIEDDeq-abkowXpCJ6DQ25snSCMGB2Hx5Ol98"} 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":"0cc0b62b211c245b450c77ddc64df218"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"af0cbb4e-c23c-4f70-8989-d53a0562e404","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.51341} 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":"0cc0b62b211c245b450c77ddc64df218"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cb16186-4aee-4f15-8a12-ff1dc0515857","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.521781} authorization-1 | {"level":"info","message":"POST /relations/update 200 54ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cc0b62b211c245b450c77ddc64df218"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":54}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"80919cc6-4964-4946-8e40-004eb39caf09","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.648981} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a54090bc-b3fc-4f36-a628-56ed4b5c2773","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.6492987} authorization-1 | {"level":"info","message":"POST /relations/update 200 83ms","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":"0cc0b62b211c245b450c77ddc64df218"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":83}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.648942081Z"}]},"request_id":"1a7621a8-5d33-41d4-bf6b-9fbf01e12f97","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762586.6557822} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cc0b62b211c245b450c77ddc64df218"},"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":"07/Jun/2024:12:16:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.287","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0cc0b62b211c245b450c77ddc64df218"} device-1 | {"level":"info","message":"POST /devices? 201 247ms","method":"POST","requestID":"0cc0b62b211c245b450c77ddc64df218","responseTime":247,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OH0.i2WHDRsaY8xT_I62MCGV_RwfARWhiXGdG3fl-0DmWUQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"5bf0b917b8ee08436f056d0b078383d1","responseTime":34,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:28Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96047,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762588,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OH0.i2WHDRsaY8xT_I62MCGV_RwfARWhiXGdG3fl-0DmWUQ"} 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":"5bf0b917b8ee08436f056d0b078383d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.648942081Z"}]},"request_id":"7151f674-687d-4535-9c3f-d556e063aba1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762588.7243767} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OH0.i2WHDRsaY8xT_I62MCGV_RwfARWhiXGdG3fl-0DmWUQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 56ms","method":"GET","requestID":"937d94fbbed870e7944650c55aa790d2","responseTime":56,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bf0b917b8ee08436f056d0b078383d1"},"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:40588","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:28Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983267,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762588,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OH0.i2WHDRsaY8xT_I62MCGV_RwfARWhiXGdG3fl-0DmWUQ"} 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":"937d94fbbed870e7944650c55aa790d2"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4a54269-fea1-4160-a083-b1ea8d5b7ef6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762588.7408705} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bf0b917b8ee08436f056d0b078383d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.648942081Z"}]},"request_id":"97468fc3-ed9f-457b-b900-eaaf62fc4698","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762588.7964141} 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":"5bf0b917b8ee08436f056d0b078383d1"},"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":"07/Jun/2024:12:16:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d181d161-0d57-4901-9e0f-80dc27d881cb HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.186","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5bf0b917b8ee08436f056d0b078383d1"} device-1 | {"level":"info","message":"PATCH /devices/d181d161-0d57-4901-9e0f-80dc27d881cb 200 151ms","method":"PATCH","requestID":"5bf0b917b8ee08436f056d0b078383d1","responseTime":151,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.320769846Z"}]},"request_id":"19161bf1-b4ec-422b-b2bc-d4dd45ee4c53","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762588.8291647} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OH0.i2WHDRsaY8xT_I62MCGV_RwfARWhiXGdG3fl-0DmWUQ","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"937d94fbbed870e7944650c55aa790d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7290b8ada5e001a1bd675384ad07d1c2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f227ea8a-d3f6-4c9a-b5da-96f1f85d682a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762588.8364513} 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":"937d94fbbed870e7944650c55aa790d2"},"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:40588","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:28Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998451,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762588,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OH0.i2WHDRsaY8xT_I62MCGV_RwfARWhiXGdG3fl-0DmWUQ"} 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":"7290b8ada5e001a1bd675384ad07d1c2"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.320769846Z"}]},"request_id":"4ce66f2b-0659-4677-9697-a167359b8c97","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762588.891121} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d 200 169ms","method":"PATCH","requestID":"937d94fbbed870e7944650c55aa790d2","responseTime":169,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d"} gateway-1 | {"time_local":"07/Jun/2024:12:16:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.254","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"937d94fbbed870e7944650c55aa790d2"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"937d94fbbed870e7944650c55aa790d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OH0.i2WHDRsaY8xT_I62MCGV_RwfARWhiXGdG3fl-0DmWUQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"81e31e72d29813109933c1ce7069e20e","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:28Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.996373,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762588,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OH0.i2WHDRsaY8xT_I62MCGV_RwfARWhiXGdG3fl-0DmWUQ"} 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":"81e31e72d29813109933c1ce7069e20e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d181d161-0d57-4901-9e0f-80dc27d881cb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.128","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7290b8ada5e001a1bd675384ad07d1c2"} device-1 | {"level":"info","message":"POST /devices/d181d161-0d57-4901-9e0f-80dc27d881cb/websocket 200 119ms","method":"POST","requestID":"7290b8ada5e001a1bd675384ad07d1c2","responseTime":119,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.098","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"81e31e72d29813109933c1ce7069e20e"} device-1 | {"level":"info","message":"POST /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/websocket 200 67ms","method":"POST","requestID":"81e31e72d29813109933c1ce7069e20e","responseTime":67,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eaf3bb95b95a0da03881863753765246","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939504,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} 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":"eaf3bb95b95a0da03881863753765246"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.320769846Z"}]},"request_id":"183bd03c-5b55-4076-bf89-673db0797edb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.0882852} 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":"eaf3bb95b95a0da03881863753765246"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d? 200 42ms","method":"GET","requestID":"eaf3bb95b95a0da03881863753765246","responseTime":42,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eaf3bb95b95a0da03881863753765246"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"9443364abe5a0b23e47351bd93c2816b","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980574,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} 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":"9443364abe5a0b23e47351bd93c2816b"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.648942081Z"}]},"request_id":"758aff7d-f658-4639-8f4b-98f1d88bf5f7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.1145802} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9443364abe5a0b23e47351bd93c2816b"},"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/d181d161-0d57-4901-9e0f-80dc27d881cb? 200 16ms","method":"GET","requestID":"9443364abe5a0b23e47351bd93c2816b","responseTime":16,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d181d161-0d57-4901-9e0f-80dc27d881cb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9443364abe5a0b23e47351bd93c2816b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"38f0425d19252ad38d037730ecddb42e","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:40588","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.363327,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} 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":"38f0425d19252ad38d037730ecddb42e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"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:39612","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985464,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} 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":"c4df11e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74983,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 50ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4dec3c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":50}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.648942081Z"}]},"request_id":"a5ed0078-693b-4949-b0fb-2ecc4be6513d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.2362905} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.320769846Z"}]},"request_id":"23f6c1ce-4c8c-4297-89df-25ab8baa4567","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.2391613} 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":"c4df11e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4dec3c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d181d161-0d57-4901-9e0f-80dc27d881cb? 200 91ms","method":"GET","requestID":"c4df11e0-24c7-11ef-b353-d1d4e8136596","responseTime":91,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Attempting to lock booking for experiment"} device-1 | {"level":"info","message":"GET /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d? 200 116ms","method":"GET","requestID":"c4dec3c0-24c7-11ef-b353-d1d4e8136596","responseTime":116,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Successfully set up experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961316,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} 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":"c507f6a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891197,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} 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":"c508b9f0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.320769846Z"}]},"request_id":"be73dfc4-4465-4578-9dde-ebb9056eed77","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.4672642} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c507f6a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d? 200 69ms","method":"GET","requestID":"c507f6a0-24c7-11ef-b353-d1d4e8136596","responseTime":69,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.648942081Z"}]},"request_id":"930061a2-ba2d-4c80-a3c8-7c60994d56b3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.5174348} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e06f9d7-5884-4941-a4b9-f7d659552a17","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.5274718} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c508b9f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":15.634683,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5111e60-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":44}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d181d161-0d57-4901-9e0f-80dc27d881cb? 200 114ms","method":"GET","requestID":"c508b9f0-24c7-11ef-b353-d1d4e8136596","responseTime":114,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling 200 67ms","method":"POST","requestID":"c5111e60-24c7-11ef-b353-d1d4e8136596","responseTime":67,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e35d11d-830e-4ede-a48b-0993b65e0ab8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.5811017} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.438002,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c51ae260-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling 200 56ms","method":"POST","requestID":"c51ae260-24c7-11ef-b353-d1d4e8136596","responseTime":56,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2f8addf-8688-4e80-b5a9-c6b81afbc25b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.632903} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd06b7a4a-5095-45bc-b21b-838e0b80e47b#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd06b7a4a-5095-45bc-b21b-838e0b80e47b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"fda792ab-9ff4-4bc0-8ead-38b487bb138f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.6336553} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dfa35ac-6fd2-4fb9-8f27-43c08ee9f370","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.6342268} authorization-1 | {"level":"info","message":"POST /relations/update 200 62ms","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":"38f0425d19252ad38d037730ecddb42e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":62}} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":12.436886,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c51c1ae0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":46}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b23a5f0b-af86-4d3f-b0c5-eec0beb040ac","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.6456392} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.045211,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c523e310-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling 200 70ms","method":"POST","requestID":"c51c1ae0-24c7-11ef-b353-d1d4e8136596","responseTime":70,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 557ms","method":"POST","requestID":"38f0425d19252ad38d037730ecddb42e","responseTime":557,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.564","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38f0425d19252ad38d037730ecddb42e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling 200 54ms","method":"POST","requestID":"c523e310-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"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":"f75422e4-edce-43a7-87f8-fa143ff46438"},{"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":"584b6983-cff5-40e9-bf4e-3dd849b4afe8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6e95e40f-0f2e-4d5e-bfc3-9525bca572a5"}]},"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/d181d161-0d57-4901-9e0f-80dc27d881cb"},{"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/01f84bb1-ea0a-4679-9839-1d00e55b287d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"134fc5e176813aa7087ba84b46b047f6","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.926128,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948028,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","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":"c52ce3c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} 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":"134fc5e176813aa7087ba84b46b047f6"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.320769846Z"}]},"request_id":"93ddf2c3-8032-49dd-9014-59e776c3990b","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.7616386} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"134fc5e176813aa7087ba84b46b047f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d? 200 78ms","method":"GET","requestID":"134fc5e176813aa7087ba84b46b047f6","responseTime":78,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"134fc5e176813aa7087ba84b46b047f6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66a86d24f9676d334ff5cdcf6d870623","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"ffff3e92-7279-4a89-aa2b-b896352ca6ed","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.7661543} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7141e71f-235c-4e71-aeb1-8baec6a28b95","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.7668588} authorization-1 | {"level":"info","message":"POST /relations/update 200 68ms","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":"c52ce3c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":68}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.964809,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762589,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU4OX0.-JNA7YvAgp2e8CcjW0G1TpIN_JF5AZs5gseNOTtLtpE"} 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":"66a86d24f9676d334ff5cdcf6d870623"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:26.648942081Z"}]},"request_id":"341bf11d-4735-4ef2-9fae-614a1e0a80f6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762589.8670967} 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/8822de64-4e3b-406c-83b1-ac5be2eac808'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808'"} 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 186ms","method":"POST","requestID":"c52ce3c0-24c7-11ef-b353-d1d4e8136596","responseTime":186,"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"} authorization-1 | {"level":"info","message":"POST /relations/query 200 60ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66a86d24f9676d334ff5cdcf6d870623"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":60}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d181d161-0d57-4901-9e0f-80dc27d881cb? 200 157ms","method":"GET","requestID":"66a86d24f9676d334ff5cdcf6d870623","responseTime":157,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d181d161-0d57-4901-9e0f-80dc27d881cb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66a86d24f9676d334ff5cdcf6d870623"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:30Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.517871,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:30Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15ca69c4-ab94-4220-b301-444c9092dbf1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762590.0055482} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c55b6dd0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling 200 72ms","method":"POST","requestID":"c55b6dd0-24c7-11ef-b353-d1d4e8136596","responseTime":72,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:30Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.425157,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:30Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c5579c2-c9fd-4562-8943-1ed3a3f2b462","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762590.1084926} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5670690-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":40}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling 200 52ms","method":"POST","requestID":"c5670690-24c7-11ef-b353-d1d4e8136596","responseTime":52,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling"} device-1 | {"data":{"peerconnection":"8822de64-4e3b-406c-83b1-ac5be2eac808","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8822de64-4e3b-406c-83b1-ac5be2eac808","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/8822de64-4e3b-406c-83b1-ac5be2eac808' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8822de64-4e3b-406c-83b1-ac5be2eac808","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bca6bcc162c297252fb2d0577e639a83","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/d181d161-0d57-4901-9e0f-80dc27d881cb"},{"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/01f84bb1-ea0a-4679-9839-1d00e55b287d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"bca6bcc162c297252fb2d0577e639a83","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"bca6bcc162c297252fb2d0577e639a83"} device-1 | {"data":{"peerconnection":"8822de64-4e3b-406c-83b1-ac5be2eac808","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8822de64-4e3b-406c-83b1-ac5be2eac808","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/8822de64-4e3b-406c-83b1-ac5be2eac808' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8822de64-4e3b-406c-83b1-ac5be2eac808","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"92ac753c0f2703961bdcf478241f7aba","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/d181d161-0d57-4901-9e0f-80dc27d881cb"},{"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/01f84bb1-ea0a-4679-9839-1d00e55b287d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":7.613368,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8822de64-4e3b-406c-83b1-ac5be2eac808","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c63ce830-e358-4cd6-8107-808f988625c8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762592.2372675} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","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":"c6afb330-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808 200 41ms","method":"GET","requestID":"c6afb330-24c7-11ef-b353-d1d4e8136596","responseTime":41,"status":200,"url":"/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"92ac753c0f2703961bdcf478241f7aba","responseTime":117,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Mn0.xOLguJMLdvUPPLEqHN2cR0zEXtY9Gx_aI7F3Zc0_QGA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a069138f22054166e848054e825164fa","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"92ac753c0f2703961bdcf478241f7aba"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.369196,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2ef7a65-8101-459f-ac27-c1bf7cdcc848","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762592.333749} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6bf1c80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.925549,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762592,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Mn0.xOLguJMLdvUPPLEqHN2cR0zEXtY9Gx_aI7F3Zc0_QGA"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","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":"a069138f22054166e848054e825164fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"POST /devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling 200 25ms","method":"POST","requestID":"c6bf1c80-24c7-11ef-b353-d1d4e8136596","responseTime":25,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"} experiment-1 | {"level":"info","message":"GET /experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b 200 58ms","method":"GET","requestID":"a069138f22054166e848054e825164fa","responseTime":58,"status":200,"url":"/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"} gateway-1 | {"time_local":"07/Jun/2024:12:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a069138f22054166e848054e825164fa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Mn0.xOLguJMLdvUPPLEqHN2cR0zEXtY9Gx_aI7F3Zc0_QGA","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.716119,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:32Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c55aee511e27441e5e21e87799019109","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc400b97-8303-4be1-9910-d38ce7043ff8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762592.3960478} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling 200 22ms","method":"POST","requestID":"c6c7a800-24c7-11ef-b353-d1d4e8136596","responseTime":22,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6c7a800-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.076818,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762592,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Mn0.xOLguJMLdvUPPLEqHN2cR0zEXtY9Gx_aI7F3Zc0_QGA"} 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":"c55aee511e27441e5e21e87799019109"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.811391,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762592,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Mn0.xOLguJMLdvUPPLEqHN2cR0zEXtY9Gx_aI7F3Zc0_QGA"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","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":"c6d19310-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8822de64-4e3b-406c-83b1-ac5be2eac808","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/d181d161-0d57-4901-9e0f-80dc27d881cb"},{"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/01f84bb1-ea0a-4679-9839-1d00e55b287d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"487d9fd5f12c2a3269ffcff8db2e3841","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4cb0688aa44c07d3a25f9103d4087022","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/d181d161-0d57-4901-9e0f-80dc27d881cb"},{"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/01f84bb1-ea0a-4679-9839-1d00e55b287d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8822de64-4e3b-406c-83b1-ac5be2eac808': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8822de64-4e3b-406c-83b1-ac5be2eac808","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"f7003ce8-4c5b-4338-8b17-354bbac2953f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762592.5137901} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f20a9d1f-d952-4465-8186-455f97dca89f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762592.515222} device-1 | {"data":{"peerconnection":"8822de64-4e3b-406c-83b1-ac5be2eac808","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/8822de64-4e3b-406c-83b1-ac5be2eac808 204 84ms","method":"DELETE","requestID":"c6d19310-24c7-11ef-b353-d1d4e8136596","responseTime":84,"status":204,"url":"/peerconnections/8822de64-4e3b-406c-83b1-ac5be2eac808"} authorization-1 | {"level":"info","message":"POST /relations/update 200 58ms","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":"c6d19310-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":58}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.315025,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd181d161-0d57-4901-9e0f-80dc27d881cb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5d466ea-5cc0-479a-b174-7e2e345d3eaa","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762592.6275077} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6e82850-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling 200 48ms","method":"POST","requestID":"c6e82850-24c7-11ef-b353-d1d4e8136596","responseTime":48,"status":200,"url":"/devices/d181d161-0d57-4901-9e0f-80dc27d881cb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.33518,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01f84bb1-ea0a-4679-9839-1d00e55b287d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37c7b22a-6a79-4157-82b5-82c5d6e4c4db","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762592.6534295} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6efc970-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd06b7a4a-5095-45bc-b21b-838e0b80e47b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd06b7a4a-5095-45bc-b21b-838e0b80e47b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"d0ef3bea-3a03-47b7-8229-577b9c23fd4a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762592.6856878} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d179ba1c-88ac-4c50-bf07-e5d584761f5d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762592.6863241} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling 200 42ms","method":"POST","requestID":"c6efc970-24c7-11ef-b353-d1d4e8136596","responseTime":42,"status":200,"url":"/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 94ms","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":"c55aee511e27441e5e21e87799019109"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":94}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"} experiment-1 | {"level":"info","message":"DELETE /experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b 204 538ms","method":"DELETE","requestID":"c55aee511e27441e5e21e87799019109","responseTime":538,"status":204,"url":"/experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 430ms","method":"POST","requestID":"487d9fd5f12c2a3269ffcff8db2e3841","responseTime":430,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 434ms","method":"POST","requestID":"4cb0688aa44c07d3a25f9103d4087022","responseTime":434,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.440","http_referrer":"","http_user_agent":"node-fetch","requestID":"487d9fd5f12c2a3269ffcff8db2e3841"} gateway-1 | {"time_local":"07/Jun/2024:12:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"3.967","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fe4cdf64e0ddc973e99e89c06659867c"} gateway-1 | {"time_local":"07/Jun/2024:12:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"3.950","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"eec82407719b94a06d2c7c4089144577"} gateway-1 | {"time_local":"07/Jun/2024:12:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d06b7a4a-5095-45bc-b21b-838e0b80e47b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.543","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c55aee511e27441e5e21e87799019109"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.440","http_referrer":"","http_user_agent":"node-fetch","requestID":"4cb0688aa44c07d3a25f9103d4087022"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d181d161-0d57-4901-9e0f-80dc27d881cb' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Mn0.xOLguJMLdvUPPLEqHN2cR0zEXtY9Gx_aI7F3Zc0_QGA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 36ms","method":"GET","requestID":"65a0475412f23191cfb8ebde41f802ab","responseTime":36,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.960635,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762592,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Mn0.xOLguJMLdvUPPLEqHN2cR0zEXtY9Gx_aI7F3Zc0_QGA"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65a0475412f23191cfb8ebde41f802ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/01f84bb1-ea0a-4679-9839-1d00e55b287d' 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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"db4daa2b-4a4d-4ca5-a2b1-1d5abfdffd13","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.0683296} 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":"65a0475412f23191cfb8ebde41f802ab"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ff69a27-bdf9-48fe-8573-317d2f2cfc2f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.1087584} 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":"65a0475412f23191cfb8ebde41f802ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"723ebba9-9974-491a-b2c0-5b09f657e1f8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.1325183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a2703c4-798a-481f-a599-c15d71c9c800","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.133128} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65a0475412f23191cfb8ebde41f802ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.132478962Z"}]},"request_id":"6e2d499a-5522-44a6-800f-18e09aeb4cb0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.141415} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65a0475412f23191cfb8ebde41f802ab"},"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 159ms","method":"POST","requestID":"65a0475412f23191cfb8ebde41f802ab","responseTime":159,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.197","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65a0475412f23191cfb8ebde41f802ab"} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5M30.cJyqwLsGvfzSGAniZmd414iWicYSz-R03i2ddhblCKg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"937856723010d3cd1c49cdf61d8b37cf","responseTime":10,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.930634,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762593,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5M30.cJyqwLsGvfzSGAniZmd414iWicYSz-R03i2ddhblCKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","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":"937856723010d3cd1c49cdf61d8b37cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"64ee1b9a-fa58-45c2-8494-7aa842356cee","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.260413} 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":"937856723010d3cd1c49cdf61d8b37cf"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"015cac6c-d4c1-4a13-a255-2ef48ce2d05a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.2689662} 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":"937856723010d3cd1c49cdf61d8b37cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"583b7a14-8fd2-4ceb-8a0c-6e648bde1f66","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.294514} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6426128d-667d-48eb-bcea-52683507e31e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.3222208} authorization-1 | {"level":"info","message":"POST /relations/update 200 58ms","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":"937856723010d3cd1c49cdf61d8b37cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":58}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.294247808Z"}]},"request_id":"a5d866ca-3e24-4fe2-815a-655d3b90fcb3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762593.333988} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"937856723010d3cd1c49cdf61d8b37cf"} device-1 | {"level":"info","message":"POST /devices? 201 180ms","method":"POST","requestID":"937856723010d3cd1c49cdf61d8b37cf","responseTime":180,"status":201,"url":"/devices?"} 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":"937856723010d3cd1c49cdf61d8b37cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c2de65cbe68e8a7cc5fc300527bd4324","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/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":"c2de65cbe68e8a7cc5fc300527bd4324"} device-1 | {"level":"info","message":"OPTIONS /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/websocket 200 1ms","method":"OPTIONS","requestID":"c2de65cbe68e8a7cc5fc300527bd4324","responseTime":1,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"d576c902ee72ea0b50edb371271b9b34","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923262,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} 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":"d576c902ee72ea0b50edb371271b9b34"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4f19e95ae8669d9cc3656a4e0ffe8d4d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/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":"4f19e95ae8669d9cc3656a4e0ffe8d4d"} device-1 | {"level":"info","message":"OPTIONS /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/websocket 200 1ms","method":"OPTIONS","requestID":"4f19e95ae8669d9cc3656a4e0ffe8d4d","responseTime":1,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"cd72a9b7e0f7b7aec9f5d1a1a9b4b814","responseTime":29,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.101","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d576c902ee72ea0b50edb371271b9b34"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/websocket 200 72ms","method":"POST","requestID":"d576c902ee72ea0b50edb371271b9b34","responseTime":72,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9244,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} 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":"cd72a9b7e0f7b7aec9f5d1a1a9b4b814"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c' connected"} gateway-1 | {"time_local":"07/Jun/2024:12:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.066","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cd72a9b7e0f7b7aec9f5d1a1a9b4b814"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/websocket 200 34ms","method":"POST","requestID":"cd72a9b7e0f7b7aec9f5d1a1a9b4b814","responseTime":34,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4172e235ffc358065110d817b65a66c7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.977117,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} 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":"4172e235ffc358065110d817b65a66c7"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.132478962Z"}]},"request_id":"4e016800-ba07-459b-ad85-1bec551a3d74","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.4178178} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4172e235ffc358065110d817b65a66c7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6c8a0ce82c1e4a4b43dfd3c283d500c0","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c? 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":"4172e235ffc358065110d817b65a66c7"} device-1 | {"level":"info","message":"GET /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c? 200 46ms","method":"GET","requestID":"4172e235ffc358065110d817b65a66c7","responseTime":46,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923199,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} 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":"6c8a0ce82c1e4a4b43dfd3c283d500c0"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.294247808Z"}]},"request_id":"48bdf170-c339-406b-b053-b51a6e30af44","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.474191} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c8a0ce82c1e4a4b43dfd3c283d500c0"},"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":"07/Jun/2024:12:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c8a0ce82c1e4a4b43dfd3c283d500c0"} device-1 | {"level":"info","message":"GET /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b? 200 30ms","method":"GET","requestID":"6c8a0ce82c1e4a4b43dfd3c283d500c0","responseTime":30,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 39ms","method":"GET","requestID":"27150a1d81cec4e16f79149a8fd87797","responseTime":39,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.125874,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} 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":"27150a1d81cec4e16f79149a8fd87797"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"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:40588","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.409633,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} 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":"c9549470-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.37299,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} 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":"c95509a0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.132478962Z"}]},"request_id":"f95c4572-43ad-4870-a8d5-af969157b8d3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.6795838} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9549470-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.294247808Z"}]},"request_id":"eb62ed3b-a42f-4879-b041-4f7d5272d063","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.681639} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c95509a0-24c7-11ef-b353-d1d4e8136596"},"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/179f3b7c-3e55-4019-8ef4-86f698cb087c? 200 26ms","method":"GET","requestID":"c9549470-24c7-11ef-b353-d1d4e8136596","responseTime":26,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b? 200 25ms","method":"GET","requestID":"c95509a0-24c7-11ef-b353-d1d4e8136596","responseTime":25,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"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:40588","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895931,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} 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":"c96cd760-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.030486,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c96d2580-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.132478962Z"}]},"request_id":"990c1e60-78d4-452b-868d-32a81c0638d1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.8740306} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c96cd760-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.294247808Z"}]},"request_id":"c2f53feb-4d57-4a27-b9f3-17746da85fa5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.8899896} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c96d2580-24c7-11ef-b353-d1d4e8136596"},"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/179f3b7c-3e55-4019-8ef4-86f698cb087c? 200 104ms","method":"GET","requestID":"c96cd760-24c7-11ef-b353-d1d4e8136596","responseTime":104,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c?"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F072178cf-ea5e-4ec7-b235-013ffb2c2ce9#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F072178cf-ea5e-4ec7-b235-013ffb2c2ce9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"5d655c98-61c1-40e6-80ee-43dc95744ada","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.8945093} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d24ec0a0-e225-41a2-a6fc-6fef82623108","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.8957384} device-1 | {"level":"info","message":"GET /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b? 200 105ms","method":"GET","requestID":"c96d2580-24c7-11ef-b353-d1d4e8136596","responseTime":105,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 69ms","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":"27150a1d81cec4e16f79149a8fd87797"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":69}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"675d3bca-524d-4b3c-a33d-0530de8e4482","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.9512637} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce082269-526d-41c2-8fed-f5dd91a0d9d0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762596.9513302} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.91394,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":16.991916,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 434ms","method":"POST","requestID":"27150a1d81cec4e16f79149a8fd87797","responseTime":434,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.476","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27150a1d81cec4e16f79149a8fd87797"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c97da040-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling 200 62ms","method":"POST","requestID":"c97da040-24c7-11ef-b353-d1d4e8136596","responseTime":62,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling 200 130ms","method":"POST","requestID":"c9745170-24c7-11ef-b353-d1d4e8136596","responseTime":130,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 62ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9745170-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":62}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5N30.gGhswgZ07l6BoD8bH4Sl815rHOYhXD12MBEdW85FP5U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"ff65e6ca6c4381a4c044568c9e913fa9","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.496465,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.420409,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"618dff2b-9174-4760-9cc3-53965a576a0c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.0202127} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"053baa78-eebf-45a3-9cbd-0119dfb34032","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.020728} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9884ea0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c988eae0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling 200 62ms","method":"POST","requestID":"c9884ea0-24c7-11ef-b353-d1d4e8136596","responseTime":62,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling 200 60ms","method":"POST","requestID":"c988eae0-24c7-11ef-b353-d1d4e8136596","responseTime":60,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762597,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5N30.gGhswgZ07l6BoD8bH4Sl815rHOYhXD12MBEdW85FP5U"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c2dc432b-8bf9-4963-8458-296ee33bebcc"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f4194c52-baca-4f86-af4f-157812179799"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b5bd475e-53aa-4eb8-8a5b-dc6105d023ca"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff65e6ca6c4381a4c044568c9e913fa9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"client_addr":"127.0.0.1:33338","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"client_addr":"127.0.0.1:33338","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.180765,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.132478962Z"}]},"request_id":"eb1b69ef-fd6a-4678-b3a1-df9afef0eb50","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.0782907} 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":"ff65e6ca6c4381a4c044568c9e913fa9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.930052,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762596,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5Nn0.zU23ucW4FsS-oUplKeDa2U7Gazm50MfttLzLHYC_aSw"} 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":"c9934b20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c? 200 72ms","method":"GET","requestID":"ff65e6ca6c4381a4c044568c9e913fa9","responseTime":72,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff65e6ca6c4381a4c044568c9e913fa9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5N30.gGhswgZ07l6BoD8bH4Sl815rHOYhXD12MBEdW85FP5U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"2bd7dd7e70e563e38c0719b91252bb06","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"b1d0efcf-b4f5-45b0-a7ae-2a3a8b3e06c8","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.1342623} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c99f7195-7ded-4b08-825e-93061f238a9a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.1355517} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","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":"c9934b20-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":45}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898383,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762597,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5N30.gGhswgZ07l6BoD8bH4Sl815rHOYhXD12MBEdW85FP5U"} 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":"2bd7dd7e70e563e38c0719b91252bb06"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:33.294247808Z"}]},"request_id":"2036e066-fca8-4739-bf21-8aeb0c1a4a4a","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.14961} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2bd7dd7e70e563e38c0719b91252bb06"},"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/82bf81a5-f407-46a7-84fb-7337cdce969b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b'"} 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 191ms","method":"POST","requestID":"c9934b20-24c7-11ef-b353-d1d4e8136596","responseTime":191,"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/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b? 200 137ms","method":"GET","requestID":"2bd7dd7e70e563e38c0719b91252bb06","responseTime":137,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2bd7dd7e70e563e38c0719b91252bb06"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Successfully created peerconnections for experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.756651,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4177409-852d-4823-bd02-58df595c61d1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.4681957} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9cad5e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling 200 54ms","method":"POST","requestID":"c9cad5e0-24c7-11ef-b353-d1d4e8136596","responseTime":54,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.228903,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4fcf977-2936-485e-bceb-2372faefd32e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.509994} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9d4c0f0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":35}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling 200 45ms","method":"POST","requestID":"c9d4c0f0-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"82bf81a5-f407-46a7-84fb-7337cdce969b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3a15781893858275ee742e210ec87654","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/179f3b7c-3e55-4019-8ef4-86f698cb087c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 18ms","method":"POST","requestID":"3a15781893858275ee742e210ec87654","responseTime":18,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.023","http_referrer":"","http_user_agent":"node-fetch","requestID":"3a15781893858275ee742e210ec87654"} device-1 | {"data":{"peerconnection":"82bf81a5-f407-46a7-84fb-7337cdce969b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5N30.gGhswgZ07l6BoD8bH4Sl815rHOYhXD12MBEdW85FP5U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e53c3d394800c11892086329828a41d0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"peerconnection":"82bf81a5-f407-46a7-84fb-7337cdce969b","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.055884,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762597,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5N30.gGhswgZ07l6BoD8bH4Sl815rHOYhXD12MBEdW85FP5U"} 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":"e53c3d394800c11892086329828a41d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"07/Jun/2024:12:16:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e53c3d394800c11892086329828a41d0"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"} experiment-1 | {"level":"info","message":"GET /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9 200 19ms","method":"GET","requestID":"e53c3d394800c11892086329828a41d0","responseTime":19,"status":200,"url":"/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"82bf81a5-f407-46a7-84fb-7337cdce969b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fa2d1f5682579712545e0c04b56dd804","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.37295,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F82bf81a5-f407-46a7-84fb-7337cdce969b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1738eb4a-9c44-4c7d-8b7e-a50b55d89c50","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.8813858} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b 200 40ms","method":"GET","requestID":"ca09b3a0-24c7-11ef-b353-d1d4e8136596","responseTime":40,"status":200,"url":"/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b"} 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":"ca09b3a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 106ms","method":"POST","requestID":"fa2d1f5682579712545e0c04b56dd804","responseTime":106,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5N30.gGhswgZ07l6BoD8bH4Sl815rHOYhXD12MBEdW85FP5U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2df5f0e7ed7e57def3aaae5716e4a56e","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.322482,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccaa7646-bd9a-4094-b667-741c6957dd1f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.9508593} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"fa2d1f5682579712545e0c04b56dd804"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca183290-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling 200 17ms","method":"POST","requestID":"ca183290-24c7-11ef-b353-d1d4e8136596","responseTime":17,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.008221,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762597,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5N30.gGhswgZ07l6BoD8bH4Sl815rHOYhXD12MBEdW85FP5U"} 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":"2df5f0e7ed7e57def3aaae5716e4a56e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53e935fd-0a89-464c-9ba4-c4fd0c37980c","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762597.9796903} authorization-1 | {"client_addr":"127.0.0.1:39612","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":11.104983,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"} experiment-1 | {"level":"info","message":"GET /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9 200 54ms","method":"GET","requestID":"2df5f0e7ed7e57def3aaae5716e4a56e","responseTime":54,"status":200,"url":"/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"} gateway-1 | {"time_local":"07/Jun/2024:12:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2df5f0e7ed7e57def3aaae5716e4a56e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling 200 47ms","method":"POST","requestID":"ca1b66e0-24c7-11ef-b353-d1d4e8136596","responseTime":47,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca1b66e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5OH0.zFUot_EW2dCa_edocLqLiTrlXPbpU_XymmaM_KAAdzk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a7197a7a697dbab04fefa2428b9d170e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.899346,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762598,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5OH0.zFUot_EW2dCa_edocLqLiTrlXPbpU_XymmaM_KAAdzk"} 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":"a7197a7a697dbab04fefa2428b9d170e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.952278,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762598,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5OH0.zFUot_EW2dCa_edocLqLiTrlXPbpU_XymmaM_KAAdzk"} 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":"ca274dc0-24c7-11ef-b353-d1d4e8136596"},"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/82bf81a5-f407-46a7-84fb-7337cdce969b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"82bf81a5-f407-46a7-84fb-7337cdce969b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6c3a6a0f15159a6a42386172a4262ceb","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/179f3b7c-3e55-4019-8ef4-86f698cb087c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d147063886df0b70b9505aa9add586c8","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/179f3b7c-3e55-4019-8ef4-86f698cb087c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F82bf81a5-f407-46a7-84fb-7337cdce969b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F82bf81a5-f407-46a7-84fb-7337cdce969b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"27089b96-20fc-414b-9e62-948fa60af9b5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.1530335} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39d771a1-8531-4f21-9423-ee4ba9f0a424","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.1544356} authorization-1 | {"level":"info","message":"POST /relations/update 200 63ms","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":"ca274dc0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":63}} device-1 | {"data":{"peerconnection":"82bf81a5-f407-46a7-84fb-7337cdce969b","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/82bf81a5-f407-46a7-84fb-7337cdce969b 204 199ms","method":"DELETE","requestID":"ca274dc0-24c7-11ef-b353-d1d4e8136596","responseTime":199,"status":204,"url":"/peerconnections/82bf81a5-f407-46a7-84fb-7337cdce969b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.201686,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179f3b7c-3e55-4019-8ef4-86f698cb087c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1687dd74-688a-45dc-8bab-69915279e669","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.302458} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca4de890-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling 200 16ms","method":"POST","requestID":"ca4de890-24c7-11ef-b353-d1d4e8136596","responseTime":16,"status":200,"url":"/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F072178cf-ea5e-4ec7-b235-013ffb2c2ce9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F072178cf-ea5e-4ec7-b235-013ffb2c2ce9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"60cd81f2-a662-449e-885a-8c44d7fe6978","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.3404057} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80b908a9-c79a-49d8-af70-be69a71bfae5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.3416045} authorization-1 | {"level":"info","message":"POST /relations/update 200 69ms","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":"a7197a7a697dbab04fefa2428b9d170e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":69}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55b596c2-6657-4371-8d55-cff3d9dc9535","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.4041107} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":11.303785,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca5cb5a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling 200 51ms","method":"POST","requestID":"ca5cb5a0-24c7-11ef-b353-d1d4e8136596","responseTime":51,"status":200,"url":"/devices/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"} gateway-1 | {"time_local":"07/Jun/2024:12:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.690","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7197a7a697dbab04fefa2428b9d170e"} experiment-1 | {"level":"info","message":"DELETE /experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9 204 685ms","method":"DELETE","requestID":"a7197a7a697dbab04fefa2428b9d170e","responseTime":685,"status":204,"url":"/experiments/072178cf-ea5e-4ec7-b235-013ffb2c2ce9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5OH0.zFUot_EW2dCa_edocLqLiTrlXPbpU_XymmaM_KAAdzk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ff2524a61ac4ff3314bb1304d107d320","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:38Z"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"07/Jun/2024:12:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.652","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c3a6a0f15159a6a42386172a4262ceb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 643ms","method":"POST","requestID":"6c3a6a0f15159a6a42386172a4262ceb","responseTime":643,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.964044,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762598,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5OH0.zFUot_EW2dCa_edocLqLiTrlXPbpU_XymmaM_KAAdzk"} 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":"ff2524a61ac4ff3314bb1304d107d320"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"07/Jun/2024:12:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.652","http_referrer":"","http_user_agent":"node-fetch","requestID":"d147063886df0b70b9505aa9add586c8"} gateway-1 | {"time_local":"07/Jun/2024:12:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2993","request_time":"2.440","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a29788ad74f2c142063e6d81376a0985"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 646ms","method":"POST","requestID":"d147063886df0b70b9505aa9add586c8","responseTime":646,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"2.400","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b47350d142d6bc15ca96fc1cf08a513c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed155bab-bb86-4558-8592-1fe42f934210","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0a18a10e-6e81-44fd-a140-b3a36d651a9d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.8162727} 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":"ff2524a61ac4ff3314bb1304d107d320"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bffae60f-0ef7-42ca-9bba-9dae999dc8c2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.8247807} 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":"ff2524a61ac4ff3314bb1304d107d320"},"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/5f50a3ab-f8ba-4aa6-a5c9-e63854408c6b' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/179f3b7c-3e55-4019-8ef4-86f698cb087c' closed"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed155bab-bb86-4558-8592-1fe42f934210","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"d9138027-e37c-48fb-9cca-9746ca41cf24","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.8795993} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1f33f89-45d2-4420-85bf-3d2264434fb6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.8827686} authorization-1 | {"level":"info","message":"POST /relations/update 200 63ms","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":"ff2524a61ac4ff3314bb1304d107d320"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":63}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed155bab-bb86-4558-8592-1fe42f934210","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed155bab-bb86-4558-8592-1fe42f934210","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:38.879560628Z"}]},"request_id":"aa6a1764-4f8e-4ea5-9819-15c8db527ec3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762598.9135914} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 198ms","method":"POST","requestID":"ff2524a61ac4ff3314bb1304d107d320","responseTime":198,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff2524a61ac4ff3314bb1304d107d320"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} gateway-1 | {"time_local":"07/Jun/2024:12:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff2524a61ac4ff3314bb1304d107d320"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5OH0.zFUot_EW2dCa_edocLqLiTrlXPbpU_XymmaM_KAAdzk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 14ms","method":"GET","requestID":"e0ea27e6c343a85d6f3f843c1fb01087","responseTime":14,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.86438,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762598,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjU5OH0.zFUot_EW2dCa_edocLqLiTrlXPbpU_XymmaM_KAAdzk"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","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":"e0ea27e6c343a85d6f3f843c1fb01087"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"db0a856b-7d6b-4a71-905c-4fb939a8fbab","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762599.0266733} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0ea27e6c343a85d6f3f843c1fb01087"},"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:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3364e0f-8870-416e-af15-2ecacb418aa6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762599.033409} 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":"e0ea27e6c343a85d6f3f843c1fb01087"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"e24fc242-406f-4ea4-bb0c-99a2202789c1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762599.0863276} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c07df7b-4e2c-485d-91e2-efcdec48f998","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762599.0875227} authorization-1 | {"level":"info","message":"POST /relations/update 200 56ms","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":"e0ea27e6c343a85d6f3f843c1fb01087"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":56}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:39.086290254Z"}]},"request_id":"5ba4248e-2978-414b-81f5-3f91b1f2be28","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762599.0941477} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0ea27e6c343a85d6f3f843c1fb01087"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0ea27e6c343a85d6f3f843c1fb01087"} device-1 | {"level":"info","message":"POST /devices? 201 202ms","method":"POST","requestID":"e0ea27e6c343a85d6f3f843c1fb01087","responseTime":202,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"705ebc34650c0267348c17b92edf7469","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/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":"705ebc34650c0267348c17b92edf7469"} device-1 | {"level":"info","message":"OPTIONS /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/websocket 200 1ms","method":"OPTIONS","requestID":"705ebc34650c0267348c17b92edf7469","responseTime":1,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"37c98b1de9a16e970b5c223db4f4448d","responseTime":12,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933837,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} 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":"37c98b1de9a16e970b5c223db4f4448d"},"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/65cc06d7-d248-4770-ac42-12c9a8be5cb0/websocket 200 59ms","method":"POST","requestID":"37c98b1de9a16e970b5c223db4f4448d","responseTime":59,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/websocket"} gateway-1 | {"time_local":"07/Jun/2024:12:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.075","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"37c98b1de9a16e970b5c223db4f4448d"} device-1 | {"level":"info","message":"device 'http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"255459604790572aa2324280992f6ff6","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.914705,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} 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":"255459604790572aa2324280992f6ff6"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:39.086290254Z"}]},"request_id":"c5bacbb4-9631-4685-a5c7-2146022a69b3","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762602.2378392} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"255459604790572aa2324280992f6ff6"},"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/65cc06d7-d248-4770-ac42-12c9a8be5cb0? 200 17ms","method":"GET","requestID":"255459604790572aa2324280992f6ff6","responseTime":17,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"255459604790572aa2324280992f6ff6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"7be794de4daa364c272be785811e3156","responseTime":23,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.868792,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} 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":"7be794de4daa364c272be785811e3156"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.268992,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed155bab-bb86-4558-8592-1fe42f934210","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ed155bab-bb86-4558-8592-1fe42f934210","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} authorization-1 | {"level":"info","message":"POST /authorize 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccc57840-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970606,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccc63b90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":42}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed155bab-bb86-4558-8592-1fe42f934210","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed155bab-bb86-4558-8592-1fe42f934210","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:38.879560628Z"}]},"request_id":"89ab4b6d-79ac-4b0e-a605-208cc6cda8d4","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762602.5020375} authorization-1 | {"level":"info","message":"POST /relations/query 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccc57840-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":41}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ed155bab-bb86-4558-8592-1fe42f934210? 200 72ms","method":"GET","requestID":"ccc57840-24c7-11ef-b353-d1d4e8136596","responseTime":72,"status":200,"url":"/devices/ed155bab-bb86-4558-8592-1fe42f934210?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:39.086290254Z"}]},"request_id":"efc78cef-8a0c-453d-ba14-28960cc969e6","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762602.5172431} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccc63b90-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0? 200 81ms","method":"GET","requestID":"ccc63b90-24c7-11ef-b353-d1d4e8136596","responseTime":81,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919046,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed155bab-bb86-4558-8592-1fe42f934210","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/ed155bab-bb86-4558-8592-1fe42f934210","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccdb7140-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"ae93798e-fcd4-421b-9571-d7bddcea0499","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762602.6546361} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7adb8aa4-2443-4d7d-85a4-328b5c5d2ce0","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762602.6558237} authorization-1 | {"level":"info","message":"POST /relations/update 200 59ms","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":"ccdb7140-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":59}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 47ms","method":"POST","requestID":"cce9a210-24c7-11ef-9c5a-c1b22986cfa1","responseTime":47,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/ed155bab-bb86-4558-8592-1fe42f934210?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 152ms","method":"POST","requestID":"ccdb7140-24c7-11ef-b353-d1d4e8136596","responseTime":152,"status":201,"url":"/devices/ed155bab-bb86-4558-8592-1fe42f934210?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"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:40588","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.538254,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} 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":"cd04f240-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:57196","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57196","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.706653,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd058e80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:39.086290254Z"}]},"request_id":"22c80454-0905-417e-9dff-9bf20358abf9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762602.911364} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77703439-7850-41be-82e0-81855e302451","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762602.9155946} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd058e80-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0? 200 67ms","method":"GET","requestID":"cd058e80-24c7-11ef-b353-d1d4e8136596","responseTime":67,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0?"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":38.289634,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:42.654596167Z"}]},"request_id":"9ebf8a0e-d611-49ec-9455-3f6b3c3afa45","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762602.9295442} 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":"cd04f240-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a? 200 89ms","method":"GET","requestID":"cd04f240-24c7-11ef-b353-d1d4e8136596","responseTime":89,"status":200,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 79ae3c1b-1f03-4756-b10f-ee099a84457a","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 79ae3c1b-1f03-4756-b10f-ee099a84457a\n at Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:42:15)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"cd069ff0-24c7-11ef-b353-d1d4e8136596"} device-1 | {"level":"info","message":"POST /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling 404 86ms","method":"POST","requestID":"cd069ff0-24c7-11ef-b353-d1d4e8136596","responseTime":86,"status":404,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 79ae3c1b-1f03-4756-b10f-ee099a84457a"},"status":404}},"level":"error","message":"Could not send status-update message"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 64ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd069ff0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":64}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5fe997f-79c6-44cd-8f0c-d289d0ed4138","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762602.984406} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.53589,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd180510-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"POST /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling 200 14ms","method":"POST","requestID":"cd180510-24c7-11ef-b353-d1d4e8136596","responseTime":14,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9e052e80-bea6-4be5-bdac-04b054868630#owner@http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9e052e80-bea6-4be5-bdac-04b054868630","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"9a084ac8-1d62-4677-9085-7c61edd701b7","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762603.0088007} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eba71fd9-e475-416c-a827-5c13fa7905cb","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762603.0096257} authorization-1 | {"level":"info","message":"POST /relations/update 200 77ms","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":"7be794de4daa364c272be785811e3156"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":77}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630","user":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 786ms","method":"POST","requestID":"7be794de4daa364c272be785811e3156","responseTime":786,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.811","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7be794de4daa364c272be785811e3156"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6accffb8ddc457d8ae768e06b9d6d7a1","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:16:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/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":"6accffb8ddc457d8ae768e06b9d6d7a1"} device-1 | {"level":"info","message":"OPTIONS /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/websocket 200 1ms","method":"OPTIONS","requestID":"6accffb8ddc457d8ae768e06b9d6d7a1","responseTime":1,"status":200,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6InlsTDItLVJFVFN5X2tHazRzNHZqaWJ0NlM2eFREMWs1Z1ppQ0VFR1MydGhvVVBFcmFZNlhHWDJ2bzhyZWlRZlRDWDFMUE1WeEQzUUJYVXI3RDN6ZExnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwNX0.JYmQRxgjGTmjVFDZx8L_AccE0lFdDZ2jve2rlBCTpUQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"88d00ad81aaca077eb522aa7b0ef8cd3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055936,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","payload":{"admin":true,"edgeToken":"ylL2--RETSy_kGk4s4vjibt6S6xTD1k5gZiCEEGS2thoUPEraY6XGX2vo8reiQfTCX1LPMVxD3QBXUr7D3zdLg","iat":1717762605,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6InlsTDItLVJFVFN5X2tHazRzNHZqaWJ0NlM2eFREMWs1Z1ppQ0VFR1MydGhvVVBFcmFZNlhHWDJ2bzhyZWlRZlRDWDFMUE1WeEQzUUJYVXI3RDN6ZExnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwNX0.JYmQRxgjGTmjVFDZx8L_AccE0lFdDZ2jve2rlBCTpUQ"} 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":"88d00ad81aaca077eb522aa7b0ef8cd3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"07/Jun/2024:12:16:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.107","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"88d00ad81aaca077eb522aa7b0ef8cd3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/websocket 200 100ms","method":"POST","requestID":"88d00ad81aaca077eb522aa7b0ef8cd3","responseTime":100,"status":200,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a' connected"} 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/79ae3c1b-1f03-4756-b10f-ee099a84457a"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"21d07a5dd704cd11fc309784f3807de1","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwNn0.3SG9EfiHru4nGVvv1yArnJ7TmBbTmX0EE2UdUjMMm7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 48ms","method":"GET","requestID":"2d2b6577ab312a827db163eb083187e7","responseTime":48,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.034971,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762606,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwNn0.3SG9EfiHru4nGVvv1yArnJ7TmBbTmX0EE2UdUjMMm7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d2b6577ab312a827db163eb083187e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 66ms","method":"POST","requestID":"21d07a5dd704cd11fc309784f3807de1","responseTime":66,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.077","http_referrer":"","http_user_agent":"node-fetch","requestID":"21d07a5dd704cd11fc309784f3807de1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:42.654596167Z"}]},"request_id":"8024777a-0c2f-40bd-9334-f1fb1fb0796e","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762606.0999978} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d2b6577ab312a827db163eb083187e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"07/Jun/2024:12:16:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.120","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d2b6577ab312a827db163eb083187e7"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a? 200 64ms","method":"GET","requestID":"2d2b6577ab312a827db163eb083187e7","responseTime":64,"status":200,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwNn0.3SG9EfiHru4nGVvv1yArnJ7TmBbTmX0EE2UdUjMMm7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"89dad96705fd562d277ab4ecf3d6e7e8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:46Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967851,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762606,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwNn0.3SG9EfiHru4nGVvv1yArnJ7TmBbTmX0EE2UdUjMMm7A"} 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":"89dad96705fd562d277ab4ecf3d6e7e8"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:39.086290254Z"}]},"request_id":"2fae096c-8b1b-43ed-8a9f-0162d626c54f","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762606.2372844} 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":"89dad96705fd562d277ab4ecf3d6e7e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0? 200 98ms","method":"GET","requestID":"89dad96705fd562d277ab4ecf3d6e7e8","responseTime":98,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0?"} gateway-1 | {"time_local":"07/Jun/2024:12:16:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.105","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89dad96705fd562d277ab4ecf3d6e7e8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.088804,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} 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":"d010aba0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":857,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":857,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.013847,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} 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":"d010f9c0-24c7-11ef-b353-d1d4e8136596"},"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:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:42.654596167Z"}]},"request_id":"137a4bc5-429f-4824-945b-69faaf7c2d18","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762607.976286} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d010aba0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a? 200 22ms","method":"GET","requestID":"d010aba0-24c7-11ef-b353-d1d4e8136596","responseTime":22,"status":200,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"},"timestamp":"2024-06-07T12:16:39.086290254Z"}]},"request_id":"bd33ca0f-b5a8-4397-920b-3f72b9208a96","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762607.9831283} 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":"d010f9c0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0? 200 50ms","method":"GET","requestID":"d010f9c0-24c7-11ef-b353-d1d4e8136596","responseTime":50,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":858,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cce3a11e-68fd-4312-a6e8-303bf17a70b5","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762608.0237134} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":858,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.643845,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0193720-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling 200 12ms","method":"POST","requestID":"d0193720-24c7-11ef-b353-d1d4e8136596","responseTime":12,"status":200,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":859,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":859,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.549896,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43e78ccc-7c87-4fe5-95fb-69dafeb0d384","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762608.03971} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d01b8110-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling 200 38ms","method":"POST","requestID":"d01b8110-24c7-11ef-b353-d1d4e8136596","responseTime":38,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c3c77350-7718-47f1-a950-56159ec8bcbf"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f75c8ca7-ebfb-4675-ab7a-741b69cdcc09"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"564e2025-df3e-4651-8aca-71db6ec6bd20"}]},"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/79ae3c1b-1f03-4756-b10f-ee099a84457a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":860,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":860,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.031842,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762602,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwMn0.NFHtariwBkSyv2uepKEtFzAJuZUoNJbi0AULPit-PCA"} 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":"d021e9b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","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%2F2afe567a-bfb2-42e9-9298-76c5f7540c28'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]}},"raw_response":{},"request_id":"74cf85f9-d192-4880-8741-0c24a9578acd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762608.1423304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"269e287b-bce2-4c22-bc69-52ec46305185","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762608.1437402} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","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":"d021e9b0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":38}} 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/ed20ffd2-42dc-4234-a0c1-6aae295ed42c'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c'"} 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 172ms","method":"POST","requestID":"d021e9b0-24c7-11ef-b353-d1d4e8136596","responseTime":172,"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/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":861,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af2791d8-33d7-45af-9c45-c7a46c0e9143","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762608.4314964} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":861,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.316483,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d05778a0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling 200 40ms","method":"POST","requestID":"d05778a0-24c7-11ef-b353-d1d4e8136596","responseTime":40,"status":200,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":862,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":862,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.496286,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"783148a9-171f-4b7c-9c8d-184c90080b44","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762608.4767957} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d05e5670-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling 200 22ms","method":"POST","requestID":"d05e5670-24c7-11ef-b353-d1d4e8136596","responseTime":22,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ed20ffd2-42dc-4234-a0c1-6aae295ed42c","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"543722a4a7b3613bc69f57cdef7463dd","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"543722a4a7b3613bc69f57cdef7463dd","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"543722a4a7b3613bc69f57cdef7463dd"} device-1 | {"data":{"peerconnection":"ed20ffd2-42dc-4234-a0c1-6aae295ed42c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ed20ffd2-42dc-4234-a0c1-6aae295ed42c","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7b6f8d4288ed807a1a3c3f8ec871a8c0","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/79ae3c1b-1f03-4756-b10f-ee099a84457a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ed20ffd2-42dc-4234-a0c1-6aae295ed42c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwOH0.-wvhA1d_TDGV0hsByCjUeGfTEjzshtDqP6n0amqakbc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"c41392caf950742fe3cbdabeceff4290","responseTime":11,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9e052e80-bea6-4be5-bdac-04b054868630"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":863,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":863,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":6.8773,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fed20ffd2-42dc-4234-a0c1-6aae295ed42c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff021560-b455-42de-8a12-9175f4717f51","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762608.8376322} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c","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 17ms","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":"d094cfc0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":864,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":864,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.963943,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762608,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwOH0.-wvhA1d_TDGV0hsByCjUeGfTEjzshtDqP6n0amqakbc"} 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":"c41392caf950742fe3cbdabeceff4290"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c 200 29ms","method":"GET","requestID":"d094cfc0-24c7-11ef-b353-d1d4e8136596","responseTime":29,"status":200,"url":"/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9e052e80-bea6-4be5-bdac-04b054868630"} experiment-1 | {"level":"info","message":"GET /experiments/9e052e80-bea6-4be5-bdac-04b054868630 200 50ms","method":"GET","requestID":"c41392caf950742fe3cbdabeceff4290","responseTime":50,"status":200,"url":"/experiments/9e052e80-bea6-4be5-bdac-04b054868630"} gateway-1 | {"time_local":"07/Jun/2024:12:16:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9e052e80-bea6-4be5-bdac-04b054868630 HTTP/1.1","status": "200","body_bytes_sent":"1178","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c41392caf950742fe3cbdabeceff4290"} gateway-1 | {"time_local":"07/Jun/2024:12:16:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"7b6f8d4288ed807a1a3c3f8ec871a8c0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"7b6f8d4288ed807a1a3c3f8ec871a8c0","responseTime":122,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":865,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":865,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.737995,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83a28244-8eb4-4f21-99e2-f1f3252dddfd","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762608.947724} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0a23d40-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":41}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling 200 52ms","method":"POST","requestID":"d0a23d40-24c7-11ef-b353-d1d4e8136596","responseTime":52,"status":200,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":866,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":866,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.927686,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd68e02a-c807-4219-9e0d-930541107868","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762609.0054445} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0ab16e0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":32}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwOX0.1PsvAgqXI8kDNCrBCBVmz7t1TzfN-Y7GCCn1P52QkFY","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling 200 45ms","method":"POST","requestID":"d0ab16e0-24c7-11ef-b353-d1d4e8136596","responseTime":45,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 15ms","method":"GET","requestID":"fa5277cc572a3ec8a13d1495bba5a819","responseTime":15,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9e052e80-bea6-4be5-bdac-04b054868630"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":867,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":867,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.036213,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762609,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwOX0.1PsvAgqXI8kDNCrBCBVmz7t1TzfN-Y7GCCn1P52QkFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","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":"fa5277cc572a3ec8a13d1495bba5a819"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9e052e80-bea6-4be5-bdac-04b054868630"} experiment-1 | {"level":"info","message":"GET /experiments/9e052e80-bea6-4be5-bdac-04b054868630 200 55ms","method":"GET","requestID":"fa5277cc572a3ec8a13d1495bba5a819","responseTime":55,"status":200,"url":"/experiments/9e052e80-bea6-4be5-bdac-04b054868630"} gateway-1 | {"time_local":"07/Jun/2024:12:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9e052e80-bea6-4be5-bdac-04b054868630 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa5277cc572a3ec8a13d1495bba5a819"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwOX0.1PsvAgqXI8kDNCrBCBVmz7t1TzfN-Y7GCCn1P52QkFY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"32acf95980a64737ecd4df030a1a8e00","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9e052e80-bea6-4be5-bdac-04b054868630"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":868,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":868,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.073168,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"experiment:http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630","object_type":"experiment","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762609,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwOX0.1PsvAgqXI8kDNCrBCBVmz7t1TzfN-Y7GCCn1P52QkFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","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":"32acf95980a64737ecd4df030a1a8e00"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":869,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":869,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.057511,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"peerconnection:http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762609,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwOX0.1PsvAgqXI8kDNCrBCBVmz7t1TzfN-Y7GCCn1P52QkFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","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":"d0cb2200-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ed20ffd2-42dc-4234-a0c1-6aae295ed42c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4b004262c1b47ca42c44321ec7b39767","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5528be63e59abf292bcc9b76fba0eb4f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c"}}},"level":"info","message":"received a callback"} 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/79ae3c1b-1f03-4756-b10f-ee099a84457a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fed20ffd2-42dc-4234-a0c1-6aae295ed42c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fed20ffd2-42dc-4234-a0c1-6aae295ed42c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"ba45477e-7887-4b7e-8f97-bc86ee434e01","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762609.2697227} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06336cf7-9a20-4e96-a5be-d7daeab894f2","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762609.2712195} authorization-1 | {"level":"info","message":"POST /relations/update 200 58ms","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":"d0cb2200-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":58}} device-1 | {"data":{"peerconnection":"ed20ffd2-42dc-4234-a0c1-6aae295ed42c","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/ed20ffd2-42dc-4234-a0c1-6aae295ed42c 204 141ms","method":"DELETE","requestID":"d0cb2200-24c7-11ef-b353-d1d4e8136596","responseTime":141,"status":204,"url":"/peerconnections/ed20ffd2-42dc-4234-a0c1-6aae295ed42c"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":870,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":870,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974329,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","payload":{"admin":true,"edgeToken":"Pd99zBYU27JfNMVdGz1LRxi-LWSCMdvmuvX9knNCoKBfLBBmUcdQIRZXPgjL-A5fymN1K16q6bojlnRNPAS3oQ","iat":1717762609,"sub":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28","subject_alt":"http://localhost/users/2afe567a-bfb2-42e9-9298-76c5f7540c28"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzJhZmU1NjdhLWJmYjItNDJlOS05Mjk4LTc2YzVmNzU0MGMyOCIsImVkZ2VUb2tlbiI6IlBkOTl6QllVMjdKZk5NVmRHejFMUnhpLUxXU0NNZHZtdXZYOWtuTkNvS0JmTEJCbVVjZFFJUlpYUGdqTC1BNWZ5bU4xSzE2cTZib2psblJOUEFTM29RIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNzc2MjYwOX0.1PsvAgqXI8kDNCrBCBVmz7t1TzfN-Y7GCCn1P52QkFY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","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":"d0e11b00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"70b72cb8-f4df-4201-8ddf-3d2c4d9afb88","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762609.3755062} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d60c736-4c00-4ace-897f-b312b85a5983","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762609.376955} 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":"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":"d0e11b00-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a 204 92ms","method":"DELETE","requestID":"d0e11b00-24c7-11ef-b353-d1d4e8136596","responseTime":92,"status":204,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9e052e80-bea6-4be5-bdac-04b054868630"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":871,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ae3c1b-1f03-4756-b10f-ee099a84457a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c7ab063-b10c-4df9-9109-a698575263f1","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762609.4824545} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":871,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.801711,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"d0f7b040-24c7-11ef-b353-d1d4e8136596"} device-1 | {"level":"info","message":"POST /devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling 404 13ms","method":"POST","requestID":"d0f7b040-24c7-11ef-b353-d1d4e8136596","responseTime":13,"status":404,"url":"/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0f7b040-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9e052e80-bea6-4be5-bdac-04b054868630': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9e052e80-bea6-4be5-bdac-04b054868630","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F2afe567a-bfb2-42e9-9298-76c5f7540c28"}]},"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","writes":null},"raw_response":{},"request_id":"e7b03dae-318a-4a16-941a-de35d9a4b2d9","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762609.4922075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"id":"01HZS9SY16P9339H5970DM6145","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"raw_response":{"authorization_model":{"id":"01HZS9SY16P9339H5970DM6145","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edafbd1b-7522-44fd-b3a3-a4cf6ee15355","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762609.4930613} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","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":"32acf95980a64737ecd4df030a1a8e00"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":51}} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database"},"status":404}},"level":"error","message":"Could not send status-update message"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Received request.","req_id":872,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:40588","level":"info","msg":"Sent response.","req_id":872,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.619771,"resp_status":200,"subsystem":"opa","time":"2024-06-07T12:16:49Z"} authorization-1 | {"authorization_model_id":"01HZS9SY16P9339H5970DM6145","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57944","raw_request":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","contextual_tuples":null,"store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F65cc06d7-d248-4770-ac42-12c9a8be5cb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3f931e2-aea1-4a24-8923-7e54f580823d","store_id":"01HZS9SXTYSKKA3TF6AXDDZ4MP","subsystem":"openfga","timestamp":1717762609.5383363} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","openfga":{"authorization_model_id":"01HZS9SY16P9339H5970DM6145","store":"01HZS9SXTYSKKA3TF6AXDDZ4MP"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0ffeda0-24c7-11ef-b353-d1d4e8136596"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling 200 42ms","method":"POST","requestID":"d0ffeda0-24c7-11ef-b353-d1d4e8136596","responseTime":42,"status":200,"url":"/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9e052e80-bea6-4be5-bdac-04b054868630"} experiment-1 | {"level":"info","message":"DELETE /experiments/9e052e80-bea6-4be5-bdac-04b054868630 204 649ms","method":"DELETE","requestID":"32acf95980a64737ecd4df030a1a8e00","responseTime":649,"status":204,"url":"/experiments/9e052e80-bea6-4be5-bdac-04b054868630"} gateway-1 | {"time_local":"07/Jun/2024:12:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9e052e80-bea6-4be5-bdac-04b054868630 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.647","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32acf95980a64737ecd4df030a1a8e00"} gateway-1 | {"time_local":"07/Jun/2024:12:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"3.787","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c29a053953c1c805c540a83ef357c8bd"} gateway-1 | {"time_local":"07/Jun/2024:12:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"7.542","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"55789400dfb741a83d3c73af99e4fd1c"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.533","http_referrer":"","http_user_agent":"node-fetch","requestID":"5528be63e59abf292bcc9b76fba0eb4f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 523ms","method":"POST","requestID":"5528be63e59abf292bcc9b76fba0eb4f","responseTime":523,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"07/Jun/2024:12:16: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.538","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b004262c1b47ca42c44321ec7b39767"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 524ms","method":"POST","requestID":"4b004262c1b47ca42c44321ec7b39767","responseTime":524,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/65cc06d7-d248-4770-ac42-12c9a8be5cb0' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/79ae3c1b-1f03-4756-b10f-ee099a84457a' closed"} 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/79ae3c1b-1f03-4756-b10f-ee099a84457a"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0ca71010688fc5fa71065d79bbe190b8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"07/Jun/2024:12:16:49 +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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"0ca71010688fc5fa71065d79bbe190b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 6ms","method":"POST","requestID":"0ca71010688fc5fa71065d79bbe190b8","responseTime":6,"status":410,"url":"/callbacks/experiment"} authorization-1 | {"level":"info","msg":"Shutting down...","subsystem":"opa","time":"2024-06-07T12:16:55Z"} authorization-1 | {"level":"info","msg":"Server shutdown.","subsystem":"opa","time":"2024-06-07T12:16:55Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"attempting to shutdown gracefully","subsystem":"openfga","timestamp":1717762615.9871278} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"server exited. goodbye ๐Ÿ‘‹","subsystem":"openfga","timestamp":1717762615.9879024} device-1 exited with code 0 experiment-1 exited with code 0 federation-1 exited with code 0 authorization-1 exited with code 0 authentication-1 exited with code 0 gateway-1 exited with code 0